我正在编写一个与 JS 网页协作的函数。我使用 UIWebView 来包含网页,然后当我希望网页与我的应用程序通信时情况变得复杂。
使用 – stringByEvaluatingJavaScriptFromString:
方法可以很容易地在 UIWebView 中调用 javascript 函数
但是有没有更简单的方法来使用 javascript 在网页中调用 obj-c 函数?我尝试使用 UIWebView 委托(delegate)方法,但我认为它太老套了。
有什么建议吗?
最佳答案
我想使用委托(delegate)是您可以在 iOS WebView 中使用的唯一(一种或两种)方法。但是有几个包装器可以帮助您轻松解决问题。
EasyJSWebView - 这复制了 Android 中的开发体验。在 Android 中,您可以简单地使用 WebView 中的 addJavascriptInterface() 方法将 Javascript 桥接到 Java。 EasyJSWebView 提供同步样式和异步样式,用于从 Objective-C 方法获取返回值。
WebViewJavascriptBridge - 代码可能看起来有点像套接字编程。您可以在 Objective-C 中的“服务器”和 Javascript 中的“客户端”之间来回传递数据。
GAJavaScript - 这可能会提供更好的 DOM 操作体验。
看看所有这些,然后选择适合您需要的一个。
关于javascript - iOS:在 UIWebview 中使用 javascript 调用 obj-c 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14454935/