我在匿名函数(第21列)和while循环(第15列)中得到TypeError: Cannot read property 'enabled' of undefined
:
var enabled = "unknown";
chrome.runtime.sendMessage({request: "Am I enabled?"},
function(response)
{
enabled = response.enabled;
});
while(enabled == "unknown")
{
// wait
}
我通常不会写Javascript,所以我不确定我在这里做错了什么。搜索会给我var y = null; log(y.property);
这样的结果,这根本不是这个问题。
答案 0 :(得分:3)
错误来自这一行:
enabled = response.enabled;
因为response
未定义。
根据chomp:
如果连接到扩展时发生错误,将调用不带参数的回调, runtime.lastError 将被设置为错误消息。
所以,修改你的代码:
var enabled = "unknown";
chrome.runtime.sendMessage({request: "Am I enabled?"},
function(response)
{
if (!response) {
// TODO: Check runtime.lastError and take an appropriate action
} else {
enabled = response.enabled;
if (enabled) {
// TODO: Do the stuff you were planning to do after the while() loop, call a function, etc.
}
}
});