2009-07-28 9 views
13

Tengo un componente UIWebView que va a cargar una página web que podría contener JavaScript. Quiero ejecutar mi propio JavaScript antes de que se ejecute JavaScript en la página web cargada. Sé que puedo utilizar en la [myWebView stringByEvaulatingJavaScriptFromString:]webViewDidFinishLoad: delegado del UIWebView, sin embargo, esto sólo se ejecutará mi JavaScript después el código JavaScript en la página web se ejecuta.Ejecutar JavaScript en un UIWebView antes de ejecutar cualquier otro JavaScript

¿Es la única solución para inyectar mi JavaScript en el código fuente de la página web? Por ejemplo, lo pondría inmediatamente después de la etiqueta <head> para asegurar que es el primer JavaScript que se ejecuta.

Respuesta

1

Compruebe this post sobre el orden de ejecución de JS. Hay otro tutorial aquí para el mismo problema. Si tiene un problema con una pieza específica de código, agréguela aquí en un ejemplo detallado y verá qué se puede hacer.

+0

Creo que esto es más una pregunta acerca de cómo inyectar javascript en un UIWebView en iOS en lugar de una pregunta de pedido de JavaScript estricta. – MonkeyBonkey

5

Me gustaría obtener una respuesta a esta pregunta también. Puedo hacer que funcione para la carga inicial de la página poniendo [myWebView stringByEvaluatingJavaScriptFromString: js] dentro de webViewDidStartLoad. En la actualización, sin embargo, no parece funcionar.

Edit: Encontré esta solución alternativa (similar a la sugerencia en su pregunta.) No estoy seguro de cuán robusto es. http://www.stevesaxon.me/posts/2011/window-external-notify-in-ios-uiwebview/

Cuestiones relacionadas