【发布时间】:2011-05-29 10:17:38
【问题描述】:
我正在开发一个 FF 插件。我想在特定选项卡中阻止除特定域 (用户定义域) 之外的任何域的所有 http 请求。下面给出的功能很好地完成了这项工作。但问题是它阻止了来自所有选项卡的 http 请求。如何仅在特定选项卡中启用以下功能?如何获取与http请求关联的tab?
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);
}
【问题讨论】:
标签: javascript firefox firefox-addon