在Backround.js Chrome扩展中使用匹配模式
我正在做一个Chrome扩展项目,但是不能让匹配模式工作,所以它覆盖了用户经过域的任何地方。举个例子,如果用户转到https://www.google.com/imghp?hl=en让代码在那里再次执行。是否可以在backround.js文件中执行此操作?
chrome.webNavigation.onCompleted.addListener(function() {
alert("This is my favorite website!");
}, {url: [{urlMatches : '*://www.google.com/*'}]});
我尝试使用"://www.google.com/"的变量,例如:
var site = "*://www.google.com/*"
will not let me pass this into either url: 'site'
or {url: [{urlMatches : 'site'}
解决方案
如documentationurlMatches
中所示,它不使用匹配模式,它使用正则表达式和RE2 syntax。
对于*://www.google.com/*
,只需切换到hostEquals
:
chrome.webNavigation.onCompleted.addListener(info => {
console.log(info);
}, {
url: [{hostEquals: 'www.google.com'}],
});
请注意,在JavaScript中'site'
是与变量site
无关的文字字符串。
相关文章