我正在构建一个应该与一个或多个网站一起使用(外部连接)的chrome扩展程序。为了测试它,我在本地网络的服务器上运行该网站,并从本地网络中已安装扩展的计算机连接到该网站。
我试过这样的事情
"externally_connectable": {
"matches": [
"http://192.168.1.109:8080/*"
],
"accepts_tls_channel_id": false
},
在manifest.json
文件中但它没有用。理想情况下,我希望允许所有网址至少在开发过程中连接。
答案 0 :(得分:2)
不幸的是你做不到。
引用the docs:
网址格式必须至少包含二级域名 - 即
"*"
,"*.com"
,"*.co.uk"
和{{等主机名模式1}}被禁止。
虽然这并不是特别禁止知识产权,但显然他们不能工作,在任何情况下你都不能给a wildcard for any site:
模式不能包含通配符域,也不能包含(effective) top level domains的子域;
"*.appspot.com"
和*://google.com/*
有效,而http://*.chromium.org/*
,<all_urls>
,http://*/*
甚至*://*.com/*
都不是。
要进行测试,您可以在操作系统的hosts
file中为您的本地地址分配二级域名。
答案 1 :(得分:0)
可以通过 include_globes() 来实现。
像这样
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"include_globs": ["http://127.0.*.1:*/*"],
"run_at": "document_idle",
"js": ["contentScript.js"]
}
],