有一个问题,同时通过使用脚本内容在谷歌浏览器扩展程序开发的消息 我的代码结构如下:Chrome扩展程序开发:消息传递问题
popup.html:
var oList;
function getHTML()
{
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {action:"getHTML"}, function handler(response) {
oList = response.dom;
});
});
alert("oList = "+oList);
}
和我的内容脚本是这样的:
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if(request.action == "getHTML"){
sendResponse({dom: document.getElementsByTagName("HTML").length});
}
});
当我在我的popup.html把一个断点“oList = response.dom;
”调试我的代码,我从内容脚本中获得了设置为 的右侧值。但在执行扩展时,popup.html中的“alert("oList = "+oList);
”代码 似乎在它进入服务器之前先执行。因此,其值为 未设置..有人可以告诉我,如果我错了某处?
它的表现很奇怪。如果我做了一个“审查弹出”无断点,它的工作。如果我只是清楚地执行,它只是不跑!我在响应中添加了console.logs(),看到它没有执行。但是当我调试时,代码正在进入..我能够在控制台中看到日志,并且还能够获取警报。为什么这很开心? – sharath 2010-08-13 00:00:47