我有一个监听器,在导航器发出请求之前就阻止了一个特定的站点。
window.addEventListener('load', registerMyListener, false);
function registerMyListener() {
window.getBrowser().addTabsProgressListener(myListener);
}
var myListener = {
onStateChange:function(aBrowser,aProgress,aRequest,aFlag,aStatus) {
if ( /* check if the request is 'www.example.com' */) {
blockSite(aBrowser, aRequest.URI.host, aRequest.URI.spec);
}
}
}
这是我的问题: 我转到“www.google.com”(允许网址)并按常规方式加载页面。然后我输入“www.example.com”(阻止的URL)并阻止blockSite功能,使用“window.stop()”停止请求并显示警报。 当我重新启动firefox时,它会加载“www.google.com”(请求的最后一个网址),但地址栏中包含“www.example.com”。
我需要使用什么事件来停止'www.example.com'的请求,Firefox仍会处理该请求,所以当我重新启动时,Firefox再次请求它(而不是“www.google.com”)?
我认为问题是当我停止请求时,因为我在Firefox“知道我要去哪里”之前就这样做了。