这不是一个真正的扩展,我只是在四处看看它是如何工作的。
基本上,在我的background.html页面中,我有这个:
function test3()
{
alert("blah3");
chrome.extension.sendRequest('test2');
}
在我的popup.html页面中,我有这个:
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if(request.function == "test3") {
alert("Works!");
}
}
);
但警告“作品”似乎从未被称为...... 我甚至试图替换
alert("Works!");
与 call_test_function();
反过来又有一个alert()......但是也没有被调用。
心情告诉我哪里出错了?给我一些代码让我的小例子有用吗?谢谢! [R
编辑: 我把它改了,现在我的代码如下:
清单:
"name": "RyanTest for Chrome",
"version": "0.1",
"description": "Ryan testing messaging!",
"background_page": "mf_background.html",
"browser_action": {
"default_icon": "icon.png",
"popup": "pop_mf.html"
mf_background
<head>
<style type="text/css">
.style1 {
font-family: Arial, Helvetica, sans-serif;
}
.style2 {
font-size: x-small;
font-family: Arial, Helvetica, sans-serif;
}
.style3 {
margin-top: 1px;
}
.style4 {
font-size: x-small;
}
.style5 {
font-size: x-small;
font-family: Arial, Helvetica, sans-serif;
text-align: center;
}
</style><script>
var b="100";
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if(request.function == "test2") {
alert("Works!");
console.log("This is in popup!");
}
}
);
</script>
</head>
pop_mf
<html><head><style>
body {
min-width:357px;
overflow-x:hidden;
}
</style>
<script>
// <!--
function test3()
{
//alert(b);
chrome.extension.sendRequest('test2');
}
test3();
// -->
</script></head><body>RyanTEST
</body></html>
答案 0 :(得分:3)
警报在弹出窗口中不起作用。请改用console.log
。
也可以代替if(request.function == "test3")
if(request == "test2")
(此时必须打开弹出窗口)