我正在开发一个小型扩展程序,必须将某些URL重定向到另一个站点。它工作正常,除了一种情况:如果使用“上下文菜单 - >在新标签页中打开”打开链接,当前页面将重定向到我的页面,并打开第二个选项卡,其中包含应重定向的链接。我弄错了什么?有没有更好的方法来实现我想要的目标?
var myListener =
{
QueryInterface: function(iid)
{
if (iid.equals(Components.interfaces.nsIURIContentListener) ||
iid.equals(Components.interfaces.nsISupportsWeakReference) ||
iid.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
},
onStartURIOpen: function(aUri)
{
if (check_url(aUri)) {
getBrowser().mCurrentTab.linkedBrowser.loadURI(######REDIRECT IS HERE#############);
return true;
}
return false;
},
doContent: function(aContentType, aIsContentPreferred, aRequest, aContentHandler )
{
throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
},
canHandleContent: function(aContentType, aIsContentPreferred, aDesiredContentType)
{
throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
},
isPreferred: function(aContentType, aDesiredContentType)
{
try
{
var webNavInfo =
Components.classes["@mozilla.org/webnavigation-info;1"]
.getService(Components.interfaces.nsIWebNavigationInfo);
return webNavInfo.isTypeSupported(aContentType, null);
}
catch (e)
{
return false;
}
},
GetWeakReference : function()
{
throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
}
}
完整的扩展程序可在此处找到:http://github.com/bitboxer/firefox-detinyfy
答案 0 :(得分:-1)
好的,我做了一些研究。胡克是一个错误的方法。我现在改变了代码。查看git以了解更多信息......