我在我的应用程序中使用 UIWebView。当用户单击 UIWebView 中网站中的链接时,我想调用一个 Objective-C 函数。有没有办法做到这一点?UIWebView 是否允许更改它?
问问题
3764 次
2 回答
7
先上钩。[yourwebview setDelegate:self]
使用以下委托方法
webView:shouldStartLoadWithRequest:navigationType
喜欢:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = request.URL;
NSString *urlString = url.absoluteString;
//put your logic here, like
if (![url.scheme isEqual:@"yourscheme"]) {// or query contains or [url absolutestring] contains etc
return NO;
}
return YES;
}
如果你想操作 DOM 或者调用 UIWebView 的任何函数,那么使用:
[yourwebView stringByEvaluatingJavaScriptFromString:@"alert('hello')"];
[yourwebView stringByEvaluatingJavaScriptFromString:@"$('#domid').hide();"];
于 2013-04-14T16:52:33.407 回答
0
正如其他答案中所述,您应该使用 webview 委托的
webView:shouldStartLoadWithRequest:navigationType
从 WebView 中走私一些数据的方法。您可以在此处阅读我关于此主题的详细回答:如何在 uiwebview 中使用 javascript 来获取单击的按钮 ID?
于 2013-04-21T03:23:42.943 回答