繁体   English   中英

Chrome扩展程序,如果else语句不执行else

[英]Chrome extension if else statement does not execute the else

因此,对于扩展,我有以下代码,这些扩展通过具有特定URL的打开的选项卡循环。

chrome.browserAction.onClicked.addListener(function(tab) {
console.log('Get URL');
chrome.tabs.query(
    {currentWindow: true, url: 'https://www.google.com/*'},
    function(tabs) {
    tabs.forEach(function(tab) {
      console.log('Tab ID, URL: ', tab.id, ' ', tab.url);
          if(tab.url !== '')
          {
            //tab.focus();
            console.log('if !== \'\'');
            chrome.browserAction.setBadgeText({text: "YES"});
            chrome.browserAction.setBadgeBackgroundColor({color: "GREEN"})
            var updateProperties = {"active": true};
            chrome.tabs.update(tab.id, updateProperties, function(tab){ });
          }
          else
          {
            chrome.windows.create({ url: "https://www.google.com", type: "popup" });
            chrome.browserAction.setBadgeText({text: "NO"});
            chrome.browserAction.setBadgeBackgroundColor({color: "RED"})
          }
    });
});

如果数组中有项目,则if条件为true,并执行if指令。 如果数组中没有项目,则if条件为false且不执行任何操作。 我的理解是,应该执行else中的指令集。

tabs.forEach为数组中的每个元素调用传递给它的函数。 如果数组包含0个元素,则不会调用该函数,因此不会达到检查条件的程度。

仅当制表符包含一个或多个元素并且其中至少一个元素的tab.url设置为“”或“”时,您的else情况才会执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM