首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果else语句不执行else语句,则使用Chrome扩展

如果else语句不执行else语句,则使用Chrome扩展
EN

Stack Overflow用户
提问于 2017-05-05 10:16:42
回答 1查看 604关注 0票数 0

因此,我有下面的扩展代码,它通过带有特定URL的打开选项卡循环。

代码语言:javascript
运行
复制
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,不执行任何项。我的理解是,“否则”中的一组指令应该执行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-05 10:38:06

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43802367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档