2009-07-28 6 views
13

Ich habe eine UIWebView-Komponente, die eine Webseite lädt, die JavaScript enthalten könnte. Ich möchte etwas eigenes JavaScript ausführen, bevor JavaScript auf der geladenen Webseite ausgeführt wird. Ich weiß, ich kann auf dem webViewDidFinishLoad: Delegierten des UIWebView verwenden, jedoch wird dies nur mein JavaScript nach ausführen das JavaScript auf der Webseite ausgeführt wird.Ausführen von JavaScript in einem UIWebView, bevor ein anderes JavaScript ausgeführt wird

Ist die einzige Lösung, um mein JavaScript in den Quellcode der Webseite zu injizieren? Zum Beispiel würde ich es sofort nach dem Tag setzen, um sicherzustellen, dass es das erste JavaScript ist, das ausgeführt wird.

Antwort

1

Überprüfen Sie this post über JS Ausführungsreihenfolge. Es gibt eine weitere tutorial hier für das gleiche Problem. Wenn Sie ein Problem mit einem bestimmten Code haben, fügen Sie ihn hier in einem detaillierten Beispiel hinzu und sehen Sie, was getan werden kann.

+0

Ich denke, das ist eher eine Frage darüber, wie man Javascript in ein UIWebView in iOS statt einer strengen Javascript-Bestellfrage injizieren. – MonkeyBonkey

5

Ich möchte eine Antwort auf diese Frage auch. Ich kann es für das anfängliche Laden der Seite zum Arbeiten bringen, indem ich [myWebView stringByEvaluatingJavaScriptFromString: js] innerhalb webViewDidStartLoad setze. Bei der Aktualisierung scheint es jedoch nicht zu funktionieren.

Bearbeiten: Ich fand diese Umgehung (ähnlich dem Vorschlag in Ihrer Frage.) Nicht sicher, wie robust es ist. http://www.stevesaxon.me/posts/2011/window-external-notify-in-ios-uiwebview/