Ich entwickle eine kleine Erweiterung, die bestimmte URLs auf eine andere Site umleiten muss. Es funktioniert gut, bis auf eine Situation: Wenn Sie den Link mit "Kontext-Menü -> In neuem Tab öffnen" öffnen, wird die aktuelle Seite auf meine Seite umgeleitet und ein zweiter Tab öffnet sich mit dem Link, der umgeleitet werden soll. Was mache ich falsch? Gibt es einen besseren Weg, um das zu erreichen, was ich will? http://github.com/bitboxer/firefox-detinyfyProbleme mit der Verwendung von nsIURIContentListener in Firefox-Erweiterung
1
A
Antwort
-1
Okay, ich habe einige Nachforschungen:
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;
}
}
Der komplette Erweiterung kann hier gefunden werden. Der Haken war ein falscher Ansatz. Ich habe den Code jetzt geändert. Schauen Sie in den Git, um mehr herauszufinden ...
Verwandte Themen
- 1. Probleme mit der Verwendung von UDID
- 2. c, Probleme mit der Verwendung von struct
- 3. Probleme mit der Verwendung von str (Anzahl) in Python
- 4. Probleme mit der Verwendung von abhängigen Paaren in Agda
- 5. Probleme mit der Absicht der Verwendung von Android API 10
- 6. Einige Probleme bei der Verwendung von DataSet.ReadXML
- 7. Sichtbarkeit Probleme bei der Verwendung von CRTP
- 8. Probleme, die nach der Verwendung von XMLHttpRequest
- 9. Probleme bei der Verwendung von Symbolschriftarten mit CSS
- 10. Probleme bei der Verwendung von Javascript mit XML & XSLT
- 11. Probleme mit Singletons bei Verwendung von Komponentenabhängigkeiten
- 12. Ich habe Probleme mit der Verwendung von Befehlszeilenparametern
- 13. Probleme bei der Verwendung von UIViewControllerAnimatedTransitioning mit swift 3
- 14. Probleme bei der Verwendung von Crystal Reports in Asp.net
- 15. Probleme bei der Verwendung von srand() in Bibliotheken
- 16. Probleme mit der Verwendung des Bootstrap-Datepicker in Fitnesse Tests
- 17. Probleme bei der Verwendung von Handlern in Android-Dienst
- 18. Probleme mit remove_if in VS2010 bei Verwendung der Sätze
- 19. Probleme mit inspect.py bei Verwendung in Jython
- 20. Probleme beim Subtrahieren von Variablen während der Verwendung von jQuery
- 21. mit der Verwendung von +
- 22. Probleme bei der Verwendung von @RunWith Annotation und PowerMock
- 23. Häufige Probleme bei der Verwendung von TransactionScope und MS DTC
- 24. Ich habe Probleme mit der Formatierung bei der Verwendung von Tooltips (oder Etiketten?) In D3.js
- 25. dplyr Probleme bei der Verwendung von group_by (mehrere Variablen)
- 26. Probleme bei der Verwendung von Pip für Python
- 27. Probleme bei der Verwendung von MySQL FULLTEXT Suche
- 28. Probleme bei der Verwendung und Installation von Python-Paketen
- 29. Probleme bei der Verwendung von haml und rails3
- 30. Probleme bei der Verwendung von fgets und strcat
Der GitHub-Link oben ist gebrochen, und in jedem Fall, wenn Sie eine kurze Zusammenfassung der Reparatur, die Sie gemacht haben, könnte es sehr hilfreich sein, so dass wir nicht ' Du musst deinen Code durchforsten, um ihn zu finden. – MatrixFrog
Ich habe den Link repariert. Und wenn Sie mehr wissen wollen, schauen Sie in: http://github.com/bitboxer/firefox-detinyfy/blob/master/content/overlay.js - vor allem die Override * -Methoden – bitboxer
Ich kann den GitHub Repo nicht finden - Ich hätte gerne mehr Informationen dazu! – Daniel