【问题标题】:Specific URL matching using tab.url.indexOf()使用 tab.url.indexOf() 匹配特定 URL
【发布时间】:2014-07-29 17:14:55
【问题描述】:

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

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/ 一样。

如何区分它们?

谢谢。

【问题讨论】:

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


    【解决方案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

    【讨论】:

    • 为什么投反对票?如果我误解了这个问题,我希望得到澄清并纠正我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 2013-06-04
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多