使用tab.url.indexOf()进行特定的URL匹配

时间:2014-07-29 17:14:56

标签: javascript jquery google-chrome google-chrome-extension google-chrome-app

在我的Chrome扩展程序中,我需要在浏览器中加载特定网址时触发操作。我正在尝试使用以下代码匹配特定的网址。

background.js 中:

if (tab.url.indexOf('http://www.example.com/') == 0) {
    chrome.windows.create({'url': 'index.html', 'type': 'panel', "width":1024, "height": 90},   
    function(window) {
    });
}

它确实有效,但它也将路径中的所有内容识别为相同的URL。例如。 www.example.com和www.example.com/path/同样如此。

如何让它区分它们?

感谢。

1 个答案:

答案 0 :(得分:1)

根据this page at w3schools.com

  

indexOf()方法返回第一次出现的位置   字符串中的指定值。

因此,检查参数字符串是否包含在调用字符串中是有用的,如果是,则在什么位置。

如果您正在寻找完全匹配,可以使用localeCompare(),如下所示:

if(tab.url.localeCompare('http://www.example.com/') == 0) {

甚至只是:

if(tab.url === 'http://www.example.com/') {

(有关比较运算符的更多信息以及=====之间的差异,请参阅here