use*_*111 2 javascript objective-c uiwebview
在原生iPhone应用程序中,我使用a UIWebView来加载网页.
我想在网页中使用JavaScript与Objective-C代码进行通信,例如调用Objective-C代码中的函数.
有没有办法实现这个?
没有"直接"的方法来做到这一点,但你可以利用UIWebViewDelegate和捕获一个自定义方案的链接,所以在你的标记中,你会写这样的东西:
<a href="myapp://app_action?doSomething">Do Something</a>
Run Code Online (Sandbox Code Playgroud)
然后,在你UIWebViewDelegate的-webView:shouldStartLoadWithRequest:navigationType:方法中,写下这样的东西:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if([[[request URL] scheme] isEqualToString:@"myapp"]) {
SEL selector = NSSelectorFromString([[request URL] query]);
if([self respondsToSelector:selector]) {
[self performSelector:selector];
} else {
//alert user of invalid URL
}
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1208 次 |
| 最近记录: |