我正在实现一个使用WebSockets的iPhone应用程序(在隐藏的UIWebView中),所以我需要在Javascript和Obj-C之间进行一些通信。
我知道[webview stringByEvaluatingJavaScriptFromString]方法,这非常适合发送websocket响应,但我更多地考虑“当JS中的事件触发时,让iOS知道”。我会使用这个概念来触发iOS在收到某个websocket响应时做的事情。
有关如何解决此类问题的任何想法? 提前致谢
答案 0 :(得分:1)
我认为最好也是唯一的方法是在触发事件时在JS中执行window.location.href,并使用WebView方法:
(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
然后,您可以捕获URL并决定是否重新加载页面。然后使用URL在Objective-C方面采取适当的操作。更多详情here: