我尝试用本地脚本替换网站加载的脚本网址。
我尝试channel.redirectTo()
data.url()
和chrome://
(清单中带有contentaccessible=yes
标记),但不起作用,所以我比较了一个正则表达式模式,如果是,它将取消XHR GET请求。
例如
<script src="http://url/to/script.js"></script>
成为
<script src="resource://url/to/new/script.js"></script>
或
<script src="chrome://url/to/new/script.js"></script>
现在我需要替换url或将我的新脚本注入页面
main.js
var listener = function (event) {
var channel = event.subject.QueryInterface(Ci.nsIHttpChannel);
var match = someFunctionToMatchRegex(channel.URI.spec);
if (match) {
channel.cancel(Cr.NS_BINDING_ABORTED);
}
};
events.on("http-on-modify-request", listener);
答案 0 :(得分:0)
我有一个redirect module here,这是你想做的一个很好的例子。你也许可以使用它,虽然模块目前只采用特定的URL而不是reg表达式。我当然会采取拉动请求进行此更改。
代码基本上只是使用了redirectTo
,所以其他错误。