亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

回調 javascript postMessage ios swift

回調 javascript postMessage ios swift

叮當貓咪 2022-11-03 15:20:55
請告訴我,有一個 ios 應用程序,它包含 WebKitView,其中有一個包含以下代碼的站點:<div id="test" style="height: 40px; width: 100px; background-color: powderblue;">Hello</div><script type="text/javascript">document.getElementById("test").addEventListener("click", function () {   window.webkit.messageHandlers.test.postMessage("TEXT");});</script>申請代碼:import UIKitimport WebKitclass ViewController: UIViewController, WKUIDelegate, WKNavigationDelegate, WKScriptMessageHandler {        var webView: WKWebView!        override func loadView() {        webView = WKWebView()        webView.navigationDelegate = self        view = webView    }        override func viewDidLoad() {        super.viewDidLoad()        let url = URL(string: "https://site")!        webView.load(URLRequest(url: url))        let config: WKWebViewConfiguration = WKWebViewConfiguration()        config.userContentController.add(self, name: "test")        webView = WKWebView(frame: self.view.frame, configuration: config)        webView?.navigationDelegate = self        self.webView?.load(URLRequest(url:url))    }        func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {        if message.name == "test", let messageBody = message.body as? String {            print(messageBody)        }    }}在xcode中點擊div時,日志中顯示如下錯誤[general] Connection to daemon was invalidated可能是什么問題呢?對不起我的英語不好。
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

我已將主包中的共享 HTML 和 javascript 代碼添加為“example.html”,并對您的代碼進行了更改。它在我的最后工作正常。


override func viewDidLoad() {

        super.viewDidLoad()

        //Url from the html

        let url = URL(fileURLWithPath: Bundle.main.path(forResource: "example", ofType: "HTML") ?? "")

        

        // Configuring WKEWebview

        let config: WKWebViewConfiguration = WKWebViewConfiguration()

        config.userContentController.add(self, name: "test")

        webView = WKWebView(frame: self.view.frame, configuration: config)

        webView?.navigationDelegate = self

        

        //Constraints related changes

        webView.translatesAutoresizingMaskIntoConstraints = true

        webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]


        self.view.addSubview(self.webView)

        // Load file

        self.webView?.loadFileURL(url, allowingReadAccessTo: Bundle.main.bundleURL)

    }

您可以使用加載您的網頁


self.webView.load(URLRequest(url: "https://www.site"))

試試看,如果您遇到任何問題,請告訴我。


查看完整回答
反對 回復 2022-11-03
  • 1 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號