javascript - iOS:在 UIWebview 中使用 javascript 调用 obj-c 方法

标签 javascript iphone ios objective-c xcode

我正在编写一个与 JS 网页协作的函数。我使用 UIWebView 来包含网页,然后当我希望网页与我的应用程序通信时情况变得复杂。

使用 – stringByEvaluatingJavaScriptFromString: 方法可以很容易地在 UIWebView 中调用 javascript 函数

但是有没有更简单的方法来使用 javascript 在网页中调用 obj-c 函数?我尝试使用 UIWebView 委托(delegate)方法,但我认为它太老套了。

有什么建议吗?

最佳答案

我想使用委托(delegate)是您可以在 iOS WebView 中使用的唯一(一种或两种)方法。但是有几个包装器可以帮助您轻松解决问题。

  1. EasyJSWebView - 这复制了 Android 中的开发体验。在 Android 中,您可以简单地使用 WebView 中的 addJavascriptInterface() 方法将 Javascript 桥接到 Java。 EasyJSWebView 提供同步样式和异步样式,用于从 Objective-C 方法获取返回值。

  2. WebViewJavascriptBridge - 代码可能看起来有点像套接字编程。您可以在 Objective-C 中的“服务器”和 Javascript 中的“客户端”之间来回传递数据。

  3. GAJavaScript - 这可能会提供更好的 DOM 操作体验。

看看所有这些,然后选择适合您需要的一个。

关于javascript - iOS:在 UIWebview 中使用 javascript 调用 obj-c 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14454935/

相关文章:

iphone - Objective c - UIActivityViewController 方向模式

ios - React Native 对 RCTBridgeModule.h 中 'RCTMethodInfo' 的重新定义

javascript - 使用 setState 一次更新多个计算属性?

javascript - JS dispatchEvent 不工作

javascript - Highcharts:JSON 对象中的数据无法正常工作

objective-c - UIView 的 frame origin 和 size 是只读的背后的逻辑是什么

javascript - Safari/webapp 启动 native 应用程序 iOS

javascript - 计算多维数组中的元素

iphone - lowercaseStringWithLocale是做什么的?

iphone - 我的 iPhone 视频只能以纵向模式播放