gpt4 book ai didi

javascript - 用户访问特定站点时 Firefox 自动重定向

转载 作者:行者123 更新时间:2023-11-30 06:01:17 25 4
gpt4 key购买 nike

我正在编写一个 firefox 扩展,当用户访问预定义站点的主页时,他们将自动重定向到同一站点上的不同页面。问题在于它会创建一个重定向循环,因为它会重定向特定站点上的每个页面,而不仅仅是主页。我只想在用户访问主页时重定向用户,而不是每次他们访问同一站点上的任何页面时。

var myExt_urlBarListener = {
QueryInterface: function(aIID)
{
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
},

onLocationChange: function(aProgress, aRequest, aURI)
{
myExtension.processNewURL(aURI);
},

onStateChange: function(a, b, c, d) {},
onProgressChange: function(a, b, c, d, e, f) {},
onStatusChange: function(a, b, c, d) {},
onSecurityChange: function(a, b, c) {}
};

var myExtension = {
oldURL: null,

init: function() {
// Listen for webpage loads
gBrowser.addProgressListener(myExt_urlBarListener,
Components.interfaces.nsIWebProgress.NOTIFY_LOCATION);
},

uninit: function() {
gBrowser.removeProgressListener(myExt_urlBarListener);
},

processNewURL: function(aURI) {
if (aURI.spec == this.oldURL)
return;

// now we know the url is new...
//alert(aURI.spec);
if(aURI.spec.search("www.examplesite.com") > -1){
gBrowser.contentDocument.location.href = "http://www.examplesite.com/page1";
}
this.oldURL = aURI.spec;
}
};

window.addEventListener("load", function() {myExtension.init()}, false);
window.addEventListener("unload", function() {myExtension.uninit()}, false);

最佳答案

当然,这只是更改 if(aURI.spec.search("www.examplesite.com") > -1){ 的问题,以便您比较实际的特定 URL ...?

关于javascript - 用户访问特定站点时 Firefox 自动重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8377158/

25 4 0
文章推荐: javascript - 检查任务是否完成
文章推荐: javascript - 在一个 div 中获取指定的文本,而不是在不同的 div 中搜索它们
文章推荐: javascript - 如何使用 javascript 将这个月和下个月添加到