2
我正在開發一個FF插件。我想阻止除特定選項卡中的特定域(用戶定義的域)以外的任何域的所有http請求。下面給出的功能很好地完成了這項工作。但問題是它阻止來自所有標籤的http請求。如何僅在特定標籤中啓用以下功能?如何獲得與http請求關聯的選項卡?如何阻止特定選項卡上的HTTP請求?
function allowOnly(domain)
{
//to block http request
Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService)
.addObserver(
{
observe:
function(aSubject, aTopic, aData)
{
if ("http-on-modify-request" == aTopic)
{
var url = aSubject
.QueryInterface(Components.interfaces.nsIHttpChannel)
.originalURI.spec;
if (domain.lastIndexOf(doc.location) != 0) //cancel all http request of other domain & sub domain
{
aSubject.cancel(Components.results.NS_BINDING_SUCCEEDED);
}
}
}
}, "http-on-modify-request", false);
}
再一次...任何hep? – 2011-05-29 11:13:39