我有一个包含webview的iPad应用程序。 webview的页面上有一个按钮,当点击它时,需要以某种方式告诉本机应用程序关闭webview。有没有办法做到这一点?即webview中的javascript将消息传递给本机应用程序的方式,反之亦然?
谢谢!
答案 0 :(得分:4)
您可以考虑使用-webView:shouldStartLoadWithRequest:navigationType:
。创建一个虚拟链接,您可以识别并关闭Web视图。至于另一方面,@ Paska的回答听起来很合适。
答案 1 :(得分:2)
更改NSNotification
实例字段时,可能会发生NSString
次触发。使用帖子here来帮助了解如何在JavaScript和Objective-C之间进行通信。
然后,这只是通知和字符串逻辑的问题:
JavaScript到Objective-C的步骤:
不确定您要从Objective-C传回Web视图,但上述帖子应该有所帮助。
答案 2 :(得分:0)
您可以使用
附加任何操作- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
从您的网络视图中检测javascript!
答案 3 :(得分:0)
我认为最好的方法是使用伪图像。
JS将插入一个新图像,例如:http://example.com/callnative_1354524562763.gif?p1=v1&p2=v2
您的网页视图将覆盖NSURLCache
以检索1x1透明图片并从您的网络内容中解析参数。
请注意,NSURLCache
仅缓存一次,因此请为每次调用生成新的时间戳。
这种方式适用于我的项目并立即调用原生iOS应用程序。