我是Javascript的新手,我想知道为什么我的“console.log('从未到达')”代码永远不会被执行
我有这么简单的代码行:
我的内容脚本
function myFunction() {
if (window.location.href.toString().toLowerCase().indexOf('https://www.google.de/') > -1)
{
var myPort = browser.runtime.connect({name:"port-from-cs"});
myPort.onMessage.addListener(function(m) {
console.log(m.greeting);
});
console.log('never reached ');
}
}
myFunction();
我的后台脚本
var portFromCS;
function connected(p) {
portFromCS = p;
var allOpenWindows = browser.windows.getAll();
allOpenWindows.then(function(result){
portFromCS.postMessage({greeting: "Windows opened: " + result.length.toString()});
});
}
browser.runtime.onConnect.addListener(connected);
在我的浏览器中输入google.de后,我的内容脚本连接到我的后台脚本,然后我统计所有打开的Windows并将消息发送回 内容脚本。在控制台中,我可以看到消息,但从未到达最后一个console.log。怎么了?
编辑:
答案 0 :(得分:0)
因为window.location.href.toString()。toLowerCase()。indexOf(' https://www.google.de/')给你-1和-1不能大于-1 如果替换-1> = -1,则if块将执行