如何在更多网站上显示我的页面操作?

时间:2014-12-27 21:20:06

标签: google-chrome google-chrome-extension

我正在编写一个在特定网址中显示图标的扩展程序页面操作,我想在此页面操作中添加多个网址。

我的background.js文件是这样的:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    if (~tab.url.indexOf('URL')) {
        chrome.pageAction.show(tabId);
    }
});

如何在更多网站上显示我的网页操作?

1 个答案:

答案 0 :(得分:1)

如果您想检查更多网址(并显示您的网页操作),那么您有两个主要选项:

  1. 您可以使用RegExp一次检查所有链接,如下所示:

    var exp = /(www\.(site1|site2|site3)\.(com|org)/gi;
    
    if (exp.test(tab.url)) {
        chrome.pageAction.show(tabId);
    }
    

    这适用于www.site1.com,www.site2.com,www.site3.com,www.site1.org等。有关详情,请查看 Regular Expressions

  2. 使用for循环和包含所有网址的Array检查字符串,如下所示:

    var urls = [
        "site1",
        "site2",
        "site3",
        ...
    ];
    
    for (var i=0; i < urls.length; i++)
        if (~tab.url.indexOf(urls[i])) {
            chrome.pageAction.show(tabId);
            break;
        }
    
  3. 这些不是您拥有的唯一选项,另一个可能是与多个if (...)一起检查,但写下来有点沉重。