簡體   English   中英

Firefox插件SDK替換請求

[英]Firefox addon SDK replace request

我試圖用本地腳本替換網站加載的腳本的URL。

我試圖將channel.redirectTo()data.url()chrome:// (清單中帶有contentaccessible=yes標志)一起使用,但沒有用,所以我比較了一個regex模式,如果為true,它將取消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>

現在,我需要替換網址或將新腳本插入頁面

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);

我在這里有一個重定向模塊,這是您想要做的一個很好的例子。 您可能可以使用它,盡管此刻模塊僅接受特定的url,而不接受reg表達式。 我當然會提出要求,以進行此更改。

正如您所提到的,代碼基本上只使用redirectTo ,所以其他地方是錯誤的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM