2012-06-06 16 views
5

pregunta corta: ¿Es posible detectar window.open() en un UIWebView utilizando el UIWebViewDelegate o hay otra forma de llegar a esto? Necesito la url cuando se activa un window.open() -Event para mostrar un UIAlertView.window.open() desde UIWebView

+0

Hola Fabio, puede por favor elaborar cómo utilizar stringByEvaluatingJavaScriptFromString en shouldStartLoadWithRequest para mostrar UIAlertview. Gracias – iBhavik

+0

Con mi código a continuación, puede sobrescribir 'window.open' para que funcione como un enlace normal. Solo puede detectar si es de 'window.open' si agrega un parámetro como'? Windowopen = true' y eche un vistazo a este URI en 'shouldStartLoadingWithRequest:' –

Respuesta

11

necesita sobrescribir window.open() uso de JavaScript:

[webView stringByEvaluatingJavaScriptFromString:@"window.open = function (open) { return function (url, name, features) { window.location.href = url; return window; }; } (window.open);"]; 
0

Intente utilizar este método delegado. Espero que esto ayude.

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 
- (void)webViewDidStartLoad:(UIWebView *)webView; 
+0

Gracias por su respuesta, pero le pregunté si el 'UIWebViewDelegate' detectará' window.open() '. 'target =" _ blank "' no activa un evento, es por eso que pregunto. –

+0

Debe hacer como es un comando html. – iamsult

+0

No funciona, lo siento. –