到目前为止,我有这个:
chrome.tabs.getSelected(null, function(tab)
{
var title = tab.title;
var btn = '<a href="' + tab.url + '" onclick="save(\'' + title + '\');"> ' + title + '</a>';
if(tab.url.match('/http:\/\/www.mydomain.com\/version.php/i'))
{
document.getElementById('link').innerHTML = '<p>' + btn + '</p>';
}
});
基本上它应匹配此域中的域:
http://www.mydomain.com/version.php?*
任何匹配的内容,即使它包含类似version.php?ver = 1等的内容
当我使用上面的代码时,它没有显示任何内容,但是当我删除if语句时,它很好,但它在其他页面上显示它不应该仅匹配的网址。
修改
if(tab.url.match(/http:\/\/www.mydomain.com\/version.php/i))
{
document.getElementById('link').innerHTML = '<p>' + btn + '</p>';
}
甚至不能以某种方式工作......
答案 0 :(得分:2)
试试这个
if(tab.url.match(/http\:\/\/www\.mydomain\.com\/version\.php/i))
{
//...
}
答案 1 :(得分:1)
删除引号。 Opera DragonFly给了我:
>>> 'http://www.mydomain.com/version.php'.match(/^http:\/\/www\.mydomain.com\/version\.php/i)
[object Array]
答案 2 :(得分:0)
您正在创建RegExp对象,但您没有将其与任何内容进行匹配。请参阅here了解如何使用它(顺便说一句,语法也是错误的,它是/ expression / modifiers或RegExp(表达式,修饰符))。
答案 3 :(得分:0)
match()
应该将RegExp
对象作为参数,而不是字符串。您可以从表达式周围删除单引号''
以使其正常工作。为了将来参考,您还应该转义表达式中的句点.
(因为它们将匹配任何单个字符),并在开头只插入^
在URL的开头允许此匹配。