【问题标题】:how to call a swift function from javascript如何从javascript调用swift函数
【发布时间】:2019-01-07 16:38:51
【问题描述】:

我正在使用 Swift 在UIWebView 中注入一个脚本。当某个点击动作发生时,脚本会负责处理。发生这种情况时,JavaScript 应该调用 Swift 中的一个函数,它将 JavaScript 发送的数据保存在本机变量中。请帮我打这个电话。

【问题讨论】:

  • 如果不展示您迄今为止所做的工作,人们将无法提供帮助。一些代码 sn-ps 就可以了。
  • iOS JavaScript bridge的可能重复

标签: javascript ios swift uiwebview


【解决方案1】:

为此,您需要从您的 JavaScript 文件中进行回调,我在其中使用了一个 JavaScript 编辑器,代码如下:-

window.location = "callback://0/"+ pass your value here

在您的 swift 文件中,使用 UIWebViewDelegate :-

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
        let urlString = request.url?.absoluteString
        //NSLog(@"web request");
        //NSLog(@"%@", urlString);
        if ((urlString?.range(of: "callback://0/")) != nil) {

            // We recieved the callback
            let value = urlString?.replacingOccurrences(of: "callback://0/", with: "")



        }
    }

【讨论】:

  • 我主要想将 javascript 中变量之一的值发送到 swift 。你能帮忙吗?
  • 请尝试上面的解决方案并告诉我,从 JavaScipt 调用此操作:- window.location = "callback://0/"+ 在此处传递您的值
  • 不使用window.location,我可以简单地使用ajax吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 2018-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多