Ich baue eine Firefox-Erweiterung, die mehrere versteckte Browser-Elemente erstellt.Firefox onLocationChange nicht immer
Ich möchte addProgressListener()
OnLocationChange für die Seite, die ich lade. Mein Handler wird jedoch nicht immer angerufen.
Genauer gesagt, hier ist, was ich tue:
- einen Browser Element erstellen, ohne seine
src
-Eigenschaft - es Befestigen an einem anderen Element
- einen Fortschritt Zuhörer hinzu
onLocationChange
auf das Hören Browser Element - Anruf
loadURIWithFlags()
mit den gewünschten URL und Post-Daten
Ich erwarte, dass der Handler jedes Mal nach 4 aufgerufen wird, aber manchmal nicht (es scheint jedoch auf den gleichen Seiten stecken zu bleiben).
Interessanterweise, wenn ich 3 und 4 in einem setTimeout(..., 5000);
wickeln, funktioniert es jedes Mal.
Ich habe auch versucht, einige der Schritte zu mischen, aber es hatte keine Wirkung.
Das größere Bild: Ich möchte zuverlässig benachrichtigt werden, wenn der Browser contentDocument
der der neu geladenen Seite (nach Weiterleitungen) ist. Gibt es einen besseren Weg, dies zu tun?
aktualisieren: Ich habe da einen Fehler auf Mozillas Bug-Tracker mit einem minimalen xulrunner App Anzeige dieses Verhaltens geöffnet, falls jemand will einen genaueren Blick nehmen: https://bugzilla.mozilla.org/show_bug.cgi?id=941414
Können wir Code/Geige bekommen? Wie stellen Sie Ihren Zuhörer ein? – Cracker0dks
@ Cracker0dks gibt es eine minimale Xulrunner App an den Fehler angehängt: https://bugzilla.mozilla.org/show_bug.cgi?id=941414 –
Ich weiß, dies ist ein reduzierter Testfall, aber was versuchst du zu erreichen? Warum sollte onLocationChange anstelle eines einfachen Load-Listeners verwendet werden? Warum eine anstelle einer