Firefox插件SDK替换请求

时间:2014-04-21 01:42:43

标签: javascript firefox-addon firefox-addon-sdk

我尝试用本地脚本替换网站加载的脚本网址。

我尝试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);

1 个答案:

答案 0 :(得分:0)

我有一个redirect module here,这是你想做的一个很好的例子。你也许可以使用它,虽然模块目前只采用特定的URL而不是reg表达式。我当然会采取拉动请求进行此更改。

代码基本上只是使用了redirectTo,所以其他错误。