gpt4 book ai didi

网页和 IOS 应用程序之间的 Javascript 接口(interface)无法正常工作。为什么我的应用程序无法接收消息?

转载 作者:行者123 更新时间:2023-11-30 13:21:51 24 4
gpt4 key购买 nike

我有一个加载页面的 WKWebView。在此页面中有一个按钮调用 JavaScript 函数。我希望这个 javascript 函数将一些字符串数据发送到我的应用程序。

这就是我的 Swift 代码的构建方式:

import UIKit
import SnapKit
import WebKit

class TestVC: UIViewController,WKScriptMessageHandler {

let defaults = NSUserDefaults.standardUserDefaults()


override func viewDidLoad() {
super.viewDidLoad()
//Cookies
let cookie = "document.cookie = '.ASPXAUTH=\(defaults.stringForKey("authKey")!)';"
let requestUrl = NSMutableURLRequest(URL: NSURL(string: "\(MyConstants.WEBURL)")!)
requestUrl.addValue(".ASPXAUTH=\(defaults.stringForKey("authKey")!)", forHTTPHeaderField: "Cookie")

//Settings
let webViewConfiguration = WKWebViewConfiguration()
let userContentController = WKUserContentController()
userContentController.addScriptMessageHandler(self, name: "callbackHandler")
webViewConfiguration.userContentController = userContentController

//UI
let webView = WKWebView(frame: CGRectZero, configuration: webViewConfiguration)
view.addSubview(webView)
webView.snp_makeConstraints { (make) in
make.edges.equalTo(self.view.snp_edges)
}
webView.loadRequest(requestUrl)


}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) {
print("got message")
}


}

这是我的 JavaScript:

window.webkit.messageHandlers.callbackHandler.postMessage(json);

但是当调用脚本时,IOS端没有打印任何内容。这里有什么我错过的吗?

最佳答案

网站似乎存在问题。代码正在运行。

关于网页和 IOS 应用程序之间的 Javascript 接口(interface)无法正常工作。为什么我的应用程序无法接收消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37697963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com