gpt4 book ai didi

javascript - 您如何创建一个弹出式 html,其中填充了从单独的 Javascript 生成的数据

转载 作者:行者123 更新时间:2023-11-28 02:49:51 25 4
gpt4 key购买 nike

我在弹出窗口中找到的所有教程都与我需要的略有不同,我不知道如何修改它们以满足我的需要。

我有一个 browser_action 图标集,当你点击它时,它会从 HTML 中创建一个弹出窗口,我在一个单独的文件中有一个 javascript,它向 API 发送 XMLHttpRequest。

这是我正在努力实现的目标,但如果这不可行,我愿意接受其他实现类似结果的方法:

我希望在按下浏览器插件按钮时出现 popup.html;然后 popup.html 应该运行脚本 httpsdetect.js,它将从另一个站点接收数据;最后,httpsdetect.js 应该将它收到的数据显示回 popup.html。

这是我目前所拥有的。

list .json:

  "manifest_version": 2,
"name": "HTTPS Detect",
"version": "1.0",

"description": "Whatever",

"icons": {
"48": "icons/border-48.png"
},

"browser_action": {
"default_icon": "icons/browser-32.png",
"default_title": "Page Info",
"default_popup": "popup/popup.html"
}

}

Popup.html:

<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="popup.css"/>
</head>

<body>

<script src="httpsdetect.js"></script>


</body>

</html>

一个 CSS 文件:

html, body {
width: 100px;
}

.responseText {
margin: 3% auto;
padding: 4px;
text-align: center;
font-size: 1.5em;
background-color: #E5F2F2;
cursor: pointer;
}

.responseText:hover {
background-color: #CFF2F2;
}

向另一个 API 发送 GET 请求的 JavaScript。目前,它只是将接收到的数据发送到控制台,但我希望它改为填充 popup.html:

console.log("Site hostname is: " + window.location.hostname);
var requestURL = "http://www.freegeoip.net/xml/" + window.location.hostname;
getRequest(requestURL, theCallback);

function getRequest(requestURL, theCallback) {
var xhr = new XMLHttpRequest();
xhr.open("GET", requestURL, true);
xhr.onload = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
theCallback(xhr.responseText);
} else {
console.error(xhr.statusText);
}
}
};
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
xhr.send(null);
}

function theCallback(theResponse) {
console.log(theResponse);
}

最佳答案

这是一个简单的版本。更复杂的需要你来完成:)

<body>
<span id="mySpan"></span>
</body>

JS:

function theCallback(theResponse) {
var text = theResponse; // I don't know what you want... Just put the text of your response here.
var mySpan = document.getElementById("mySpan");
mySpan.textContent=text;
}

更新

看看:https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Display_a_Popup

核心是:

var text_entry = require("sdk/panel").Panel({
contentURL: data.url("text-entry.html"),
contentScriptFile: data.url("get-text.js")
});

关于javascript - 您如何创建一个弹出式 html,其中填充了从单独的 Javascript 生成的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39824365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com