当某个事件触发时,Javascript可以调用iOS中的任何内容吗?

时间:2011-07-11 02:55:58

标签: javascript iphone ios ios4 websocket

我正在实现一个使用WebSockets的iPhone应用程序(在隐藏的UIWebView中),所以我需要在Javascript和Obj-C之间进行一些通信。

我知道[webview stringByEvaluatingJavaScriptFromString]方法,这非常适合发送websocket响应,但我更多地考虑“当JS中的事件触发时,让iOS知道”。我会使用这个概念来触发iOS在收到某个websocket响应时做的事情。

有关如何解决此类问题的任何想法? 提前致谢

1 个答案:

答案 0 :(得分:1)

我认为最好也是唯一的方法是在触发事件时在JS中执行window.location.href,并使用WebView方法:

(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType 

然后,您可以捕获URL并决定是否重新加载页面。然后使用URL在Objective-C方面采取适当的操作。更多详情here