Google chrome 更通用的内容脚本匹配模式?
我想匹配:Google chrome 更通用的内容脚本匹配模式?,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我想匹配: http://images.orkut.com/ http://www.orkut.co.uk/ http://www.orkut.com.br/ http://images.orkut.jp/ 我尝试使用的模式是: http://*.orkut.*/* 但当我尝试加载扩展时,它会说: invalid value for content_scripts[0].matches[0] 有没有办法在不指定完整域的情况下匹配这些URL 在清单文件中 "permissions": [
http://images.orkut.com/
http://www.orkut.co.uk/
http://www.orkut.com.br/
http://images.orkut.jp/
我尝试使用的模式是:
http://*.orkut.*/*
但当我尝试加载扩展时,它会说:
invalid value for content_scripts[0].matches[0]
有没有办法在不指定完整域的情况下匹配这些URL
在清单文件中
"permissions": [ "tabs", "http://*.orkut.*/*", "https://*.orkut.*/*" ],
"content_scripts":
[
{
"matches": [ "http://*.orkut.*/" ], // error
"js": ["content/loader.js"]
}
]
一个更通用的方法不起作用,而这个方法起作用:
"matches": [ "http://*.orkut.co.uk/" ],
由于安全原因,您无法执行此操作,有关更多信息,请参阅 此外,Chrome Extension的团队负责人也很好地解释了原因: 如前所述,这不受
manifest.json中google
的支持
但是,您仍然可以在内容脚本中添加一个简单的javascript检查!
例如,我希望内容脚本只在192.168.*.*.
主机上执行(这是一个内部chrome扩展),这就是我解决类似情况的方法
你能在定义模式的地方添加更多的上下文吗?@marcog我想这会误导你。问题是chrome不接受这种模式。如果相关的话,我使用的是Chrome 9.0.597.19 beta。我问的原因是,它在Vimiums排除的URL中对我有效,我相信它可以不经修改地传递到Chrome上。所以其他地方可能有问题。@marcog:也许新版本不接受这个?我想我将不得不允许所有的URL,并让自己的过滤器…或者可能测试版是错误的?你试过最新的稳定版本吗?我用的是铬7.0.517.41。
...
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content-script.js"]
}
],
...
let isValidHostname = /^192.168.\d+.\d+$/.test(window.location.hostname);
if (isValidHostname){
// Do your stuff here
}