Я застрял при передаче сообщений в моем расширении 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();
}
});
Но когда я нажимаю кнопку, ничего не происходит, и в консоли появляется «Uncaught TypeError: Cannot call method 'addListener' of undefined».
Как я могу написать фоновую страницу для периодического обновления HTML во всплывающем окне? Спасибо.
chrome.runtime.*
наchrome.extension.*
работает :-) - person nanuqcz   schedule 24.04.2013