To control in UIwebview via javascript Injection
Here we are overriding window.open method so that we can launch this on separate browser rather than opening in webview .
- (void)webViewDidFinishLoad:(UIWebView *)myWebView {
[self.webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"var open_=window.open ;window.open=function (url ,name) { var prefix='ns://'; "
"open_(prefix+url);return (prefix+url)"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
And then handle the special case in
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if ([[[inRequest URL] scheme] isEqualToString:@"ns"] == YES)
{
[self.webView stopLoading];
NSLog(@"it works do what ever you want ");
}
}
Here we are overriding window.open method so that we can launch this on separate browser rather than opening in webview .
- (void)webViewDidFinishLoad:(UIWebView *)myWebView {
[self.webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"var open_=window.open ;window.open=function (url ,name) { var prefix='ns://'; "
"open_(prefix+url);return (prefix+url)"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
And then handle the special case in
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if ([[[inRequest URL] scheme] isEqualToString:@"ns"] == YES)
{
[self.webView stopLoading];
NSLog(@"it works do what ever you want ");
}
}
No comments:
Post a Comment