Frage

annehmen, wir Mozilla Prism wie XULRunner App haben. Es ist ein XUL Fenster mit einem Element, auf dem der Browser eine Webseite auf einer bestimmten Domäne zeigt (zum Beispiel example.com).

Nun gibt es mehrere Links auf example.com. Wenn ein Benutzer einen lokalen Link folgt (das heißt, bleibt auf example.com) sie erlaubt sein sollte, zu folgen. Wenn auf der anderen Seite der Link zu elpmaxe.moc geht, sollte es (ich habe nichts dagegen) eine dieser zwei Möglichkeiten:

  • Der "echte" Browser öffnet (wie in Prism) oder
  • nichts passiert.

Alle Ideen hwo dies zu tun? Es ist nicht ausreichend browser.document.onload oder domready oder solche Ereignisse zu verwenden, da die Verbindung sicher auch während der Seitenlast gesperrt werden muss (das heißt, wenn keines dieser Ereignisse ausgelöst noch) nicht.

War es hilfreich?

Lösung

Es scheint, Sie Funktionalität wollen ähnlich wie die, die von Blocksite - außer Sie der App-Domain auf die weiße Liste setzen wollen und alles andere blockieren. Es gibt einige MDC-Dokumentation auf Erweiterungen innerhalb XUL Runner Installation, die helfen können.

Alternativ können Sie einen Blick durch den Quellcode haben und versuchen, aus arbeiten, wo es in hakt - dies würde Sie ein alternatives Verhalten eine Erweiterung mit Ihrer App nur blockieren und vermeiden implementieren Versand. Ich denke, BlockSite.js die Schlüsseldatei ist, sieht aus wie der Handler hier (Linie 171) hinzugefügt wird:

var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
observerService.addObserver(BlockSiteObserver, "http-on-modify-request", false);

Die BlockSiteObserver Funktion wird im Code definiert gerade oben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top