使用webRequest api将URL重定向到本地文件以进行chrome扩展

ran*_*jez 9 google-chrome-extension

我在使用webRequest api进行chrome扩展以重定向网址时遇到问题

chrome.webRequest.onBeforeRequest.addListener(function(details) {
return {
  redirectUrl : "file:///C:/hello.html"
};
}, {
urls : ["<all_urls>"]
}, ["blocking"]);
Run Code Online (Sandbox Code Playgroud)

我可以重定向到任何http或https地址但不是文件位置任何人都知道为什么......?

小智 6

redirectUrl : chrome.extension.getURL("hello.html")
Run Code Online (Sandbox Code Playgroud)

我像上面一样成功,hello.html在扩展文件夹中。

  • 必须在web_accessible_resources清单键中列出资源,以便由扩展之外的页面加载。 (4认同)

ibr*_*rir 5

  1. 首先,您必须将文件放入扩展文件夹(或扩展文件夹的子文件夹中)。

  2. 然后,您必须"web_accessible_resources"在清单文件中将其声明为 a 。

示例: 如果您的扩展文件夹是 MyExt,而您要使用的文件是"MyExt/path/to/file.html". 然后你应该把它添加到清单文件中:

"web_accessible_resources": [
   "path/to/file.html"
]
Run Code Online (Sandbox Code Playgroud)

通常,将在扩展名之外使用的任何文件都应在"web_accessible_resources"数组中声明。

请注意,声明只是扩展文件夹内文件的相对路径。


Sud*_*han 0

Chrome 扩展程序无法以任何方式访问本地资源\文件,这是为了安全而设置的功能,话虽如此,我可以知道重定向到本地 URL 的具体原因是什么(正在扩展程序网络传播)