调用一个简单的Objective-C的功能可能重复:
How to call an Objective-C method from Javascript in a Cocoa/WebKit app?如何从Javascript
如何从JavaScript调用一个简单的Objective- C函数。 说我有一个功能:
- (无效){callFromJavascript
//如何从一个JavaScript函数中调用目标-C的这种方法。
}
调用一个简单的Objective-C的功能可能重复:
How to call an Objective-C method from Javascript in a Cocoa/WebKit app?如何从Javascript
如何从JavaScript调用一个简单的Objective- C函数。 说我有一个功能:
- (无效){callFromJavascript
//如何从一个JavaScript函数中调用目标-C的这种方法。
}
一种机制是拦截document.location
变化(并取消),并调用你的方法时所要求的改变document.location
您预定义的URL匹配。
然后从JS中,您只需将document.location
更改为该预定义的URL。
拦截变化覆盖:
- (BOOL)webView:(UIWebView *)_webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
,并返回NO时request
匹配你在JS作为document.location
设置什么。
查看Samarth Pandey的回答。这是一个更好的方法。 – sqreept
检查此链接你会得到你的答案http://blog.techno-barje.fr/post/2010/10/06/UIWebView-secrets-part3-How-to-properly-call-ObjectiveC-from-Javascript/ – SSP
我使用的答案在这里:http://stackoverflow.com/a/2293305/105539在我的评论下面,我展示了如何做到这一点更容易。 – Volomike