在我的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/同样如此。
如何让它区分它们?
感谢。
答案 0 :(得分:1)
indexOf()方法返回第一次出现的位置 字符串中的指定值。
因此,检查参数字符串是否包含在调用字符串中是有用的,如果是,则在什么位置。
如果您正在寻找完全匹配,可以使用localeCompare()
,如下所示:
if(tab.url.localeCompare('http://www.example.com/') == 0) {
甚至只是:
if(tab.url === 'http://www.example.com/') {
(有关比较运算符的更多信息以及==
和===
之间的差异,请参阅here)