Webview如何与本地iOS应用程序进行通信?

8
我有一个包含webview的iPad应用程序。 webview的页面上有一个按钮,当单击该按钮时,需要以某种方式告诉本机应用程序关闭webview。 有没有办法做到这一点? 即,webview中的javascript如何传递消息给本机应用程序,反之亦然?
谢谢!
4个回答

4

2
也许可以在NSString实例字段更改时触发一个NSNotification。使用此处的帖子以帮助理解如何在JavaScript和Objective-C之间通信。
然后,这只是一个通知和字符串逻辑问题:
JavaScript到Objective-C的步骤:
  1. 按下Web视图按钮。
  2. JavaScript触发方法返回字符串。
  3. 本地NSString更新以表示已按下Web视图中的按钮(请参见上面的帖子)。
  4. 基于字符串更改触发NSNotification。
  5. Objective-C关闭Web视图。
不确定您想从Objective-C传回Web视图什么,但上面的帖子应该有所帮助。

0

0

我认为最好的方法是使用伪图片。

JS会插入一张新的图片,例如:http://example.com/callnative_1354524562763.gif?p1=v1&p2=v2

而你的webview将覆盖NSURLCache以检索1x1透明图像并从你的Web内容中解析参数。

请注意,NSURLCache只缓存一次,因此请为每个调用生成新的时间戳。

这种方式对我的项目有效,可以立即调用本地iOS应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接