【问题标题】:Can Javascript call anything in iOS when a certain event fires?当某个事件触发时,Javascript 可以在 iOS 中调用任何东西吗?
【发布时间】:2011-07-11 02:55:57
【问题描述】:
我正在实现一个使用 WebSockets 的 iPhone 应用程序(在隐藏的 UIWebView 内),所以我需要在 Javascript 和 Obj-C 之间进行一些通信。
我知道 [webview stringByEvaluatingJavaScriptFromString] 方法,它非常适合发送 websocket 响应,但我更多地考虑“当事件在 JS 中触发时,让 iOS 知道”。我会使用这个概念来触发 iOS 在收到某个 websocket 响应时做一些事情。
关于如何解决此类问题的任何想法?
提前致谢
【问题讨论】:
标签:
javascript
iphone
ios
ios4
websocket
【解决方案1】:
我认为最好也是唯一的方法是在触发事件时在JS中做一个window.location.href,并使用WebView方法:
(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
然后您可以捕获 URL 并决定是否重新加载页面。然后使用 URL 在 Objective-C 方面采取适当的行动。更多详情here: