gpt4 book ai didi

javascript - Chrome扩展: chrome.runtime.sendMessage和XMLHttpRequest();

转载 作者:行者123 更新时间:2023-11-28 05:41:56 27 4
gpt4 key购买 nike

我在使用 chrome.runtime.sendMessage(在我的内容脚本中)和 chrome.runtime.onMessage.addListener (在我的内容脚本中)发出 http 请求时遇到了麻烦背景 html 页面)。

这里的问题是,http 请求没有发出,我从来没有正确接收回调responseText,总是在 chrome.runtime.sendMessage 中显示为未定义.

所以,我需要任何帮助来尝试解决这个问题。

这是我的所有代码:

内容脚本

chrome.runtime.sendMessage({
method: "GET",
action: "xhttp",
url: "http://www.example.net/echo.php?getecho",
data: ""
}, function(responseText) {
alert(responseText);

});

背景页面html

<!DOCTYPE html>
<html style=''>
<head>
chrome.runtime.onMessage.addListener(function(request, sender, callback) {
if (request.action == "xhttp") {
var xhttp = new XMLHttpRequest();
var method = request.method ? request.method.toUpperCase() : 'GET';

xhttp.onload = function() {
callback(xhttp.responseText);
};
xhttp.onerror = function() {

callback();
};
xhttp.open(method, request.url, true);
if (method == 'POST') {
xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
}
xhttp.send(request.data);

return true;
}
});
</script>
</head>
<body>
</body>
</html>

PHP 脚本

<?php
if (isset($_GET["getecho"]))
{
echo "Hello i'm php script!";
}
?>

list 文件

{
"background": {

"page": "popup.html",
"persistent": true
},

"description": "Foo example",
"manifest_version": 2,
"name": "Foo",
"icons": {
"128" : "picture/wmp128.png",
"48" : "picture/wmp48.png"
},

"web_accessible_resources": [

"popup.js"
],

"content_scripts": [

{

"matches": ["<all_urls>", "*://*/*", "http://*/*", "https://*/*"],
"js": ["popup.js"],
"run_at": "document_end",
"all_frames": true
}

],

"permissions": [ "tabs", "background", "activeTab", "<all_urls>", "webNavigation", "webRequest", "http://*/*", "https://*/*", "*://*/*" ],
"version": "2.0"
}

最佳答案

我不完全确定,但这可能是同步与异步问题。 This解释了两者之间的区别。也许值得一试。

关于javascript - Chrome扩展: chrome.runtime.sendMessage和XMLHttpRequest();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38851591/

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