2011-05-18 43 views
7

我有一个包含webview的iPad应用程序。 webview的页面上有一个按钮,点击时,需要以某种方式告诉本机应用关闭web视图。有没有办法做到这一点?即webview中的javascript将消息传递给本机应用程序的方式,反之亦然?webview与本地iOS应用程序通信的任何方式?

谢谢!

回答

2

NSString实例字段发生更改时,可能会有NSNotification火灾。使用后here来帮助理解如何在JavaScript和Objective-C之间进行通信。

然后,它仅仅是一个通知和字符串逻辑的问题:

步骤为JavaScript到目标C:

  1. Web视图按钮被按下。
  2. JavaScript会触发返回字符串的方法。
  3. 本地NSString被更新为表示Web视图中的按钮被按下(请参阅上面的文章)。
  4. NSNotification基于字符串更改触发。
  5. Objective-C关闭Web视图。

不知道你想从Objective-C回传到Web视图,但上面的帖子应该有所帮助。

0

我认为最好的方法是使用伪图像代替。

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

和你的WebView将覆盖NSURLCache检索1x1大小的透明图像,并从你的网页内容分析的参数。

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

这种方式适用于我的项目并立即致电本地iOS应用程序。

相关问题