【问题标题】:Can a WKWebView call a function in the main app and get a value back?WKWebView 可以调用主应用程序中的函数并返回值吗?
【发布时间】:2019-09-18 20:50:14
【问题描述】:

我目前正在编写一个网页,该网页旨在在 iOS 上的 WKWebView 或 Android 上的 WebView 内运行。在 Android 上,WebView 可以调用执行本机应用程序代码并将值返回给 WebView 的函数。是否可以在 iOS 上做同样的事情?我可以调用原生 iOS 函数并以某种方式从它返回一个值吗?

【问题讨论】:

  • 停止。 UIWebView 已被弃用多年。使用 WKWebView。是的,有一种方法可以从 html/javascript 调用到您的应用程序中。
  • @matt 改为询问 WKWebView。 (我不是 iOS 工程师,所以我不知道他们使用的是哪个 WebView。)另外,问题中最重要的部分是这种通信是否是双向的。

标签: ios uiwebview


【解决方案1】:

当然可以,但需要大量的准备工作。 几年前我做了这个https://github.com/ddaddy/DJJavaInsertion,当时我需要能够通过更改网页上的JavaScript 来控制应用程序的工作方式。它使用UIWebView,但您应该能够修改它以使用WKWebView

它的工作方式是加载您的网页并启动初始 js 函数。由于您的 js 需要调用 Obj-C 方法,因此它会对 webview 委托捕获并执行功能的特殊制定的 url 进行 iframe 调用。

我用它来呈现原生警报、请求数据输入,甚至执行相当复杂的网络请求。

我怀疑这对你来说会是一个下降,但可能会告诉你如何去做。

【讨论】:

    猜你喜欢
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多