我坚持在我的 Google Chrome 扩展程序中传递消息。
我有这个 popup.js:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.do == 'popup_refreshMessage')
jQuery('#message').html(request.message);
}
);
jQuery('input[type=button]').click(function(){
chrome.runtime.sendMessage({
do: "background_start"
});
});
这个popup.html:
<html>
<body>
Message:
<div id="message"></div>
<input type="button" value="Start">
</body>
</html>
现在,我希望背景页面在我的弹出窗口中定期刷新消息。所以,background.js 看起来像这样:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.do == 'background_start') {
var periodicFunc = function() {
request.callback({
do: "popup_refreshMessage",
message: Math.random()
});
setTimeout(myFunc, 1000);
}
periodicFunc();
}
});
但是当我单击按钮时,什么也没有发生,并且控制台中出现“未捕获的类型错误:无法调用未定义的方法 'addListener'”。
如何编写背景页面以在弹出窗口中定期更新 HTML?谢谢你。