Belirli URL'leri başka bir Siteye yeniden yönlendirmesi gereken küçük bir uzantı geliştiriyorum. Bir durum haricinde iyi çalışıyor: Bağlantıyı "Bağlam-Menüsü -> Yeni Sekmede Aç" ile açıyorsanız, geçerli sayfa sayfama yeniden yönlendirilir ve yönlendirilecek bağlantıyı içeren ikinci bir sekme açılır. Neyi yanlış yapıyorum? İstediğimi elde etmenin daha iyi bir yolu var mı? Firefox Uzantısında nsIURIContentListener kullanma ile ilgili sorunlar
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;
}
}
tam uzatma
burada bulunabilir: http://github.com/bitboxer/firefox-detinyfy
Yukarıdaki github bağlantısı kesildi ve her halükarda yaptığınız düzeltmenin kısa bir özetini ekleyebilecekseniz çok yardımcı olacaktır, böylece biz ' Bulmak için kodunuzu kazmak zorundasınız. – MatrixFrog
Bağlantıyı çözdüm. Daha fazla bilgi edinmek istiyorsanız, http://github.com/bitboxer/firefox-detinyfy/blob/master/content/overlay.js - özellikle geçersiz kılma * yöntemleri – bitboxer
Github repo'yu bulamıyorum - Bu konuda daha fazla bilgi sahibi olmayı çok isterim! – Daniel