2012-06-06 12 views
5

Krótkie pytanie: czy można wykryć w UIWebView przy użyciu lub czy istnieje inny sposób, aby to osiągnąć? Potrzebuję adresu URL, gdy window.open() -Event zostanie uruchomiony, aby pokazać UIAlertView.Wykrywanie window.open() od UIWebView

+0

Hi Fabio, można proszę opracować sposób korzystania stringByEvaluatingJavaScriptFromString w shouldStartLoadWithRequest pokazać UIAlertView. Dzięki – iBhavik

+0

Z mojego kodu poniżej można zastąpić 'window.open' do pracy jak normalny link. Jesteś w stanie wykryć, czy pochodzi on z 'window.open' jeśli dodasz parametr taki jak'? Windowopen = true' i szukasz tego URI w 'shouldStartLoadingWithRequest:' –

Odpowiedz

11

trzeba nadpisać window.open() użyciem JavaScript:

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

Spróbuj użyć tej metody przekazywania. Mam nadzieję że to pomoże.

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

Dziękuję za twoją odpowiedź, ale pytałem, czy 'UIWebViewDelegate' wykryje' window.open() '. 'target =" _ blank "' nie uruchamia zdarzenia, dlatego pytam. –

+0

Powinno to zrobić jako polecenie html. – iamsult

+0

To nie działa, przepraszam. –