240 發(fā)簡信
IP屬地:廣東
  • 不用這么麻煩啊,直接修改注入的js就可以實現(xiàn)的
    比如原來的代碼:
    addJavascriptInterface(new MyJsInterface(this), "jsCallApp");
    MyJsInterface里面有g(shù)etUserInfo和getDeviceInfo兩個方法

    在flutter中js注入的時候可以這么寫:
    controller.runJavascript('window.jsCallApp = {'
    'getUserInfo: function (data) {window.getUserInfo.postMessage(data);},'
    'getDeviceInfo: function (data) {window.getDeviceInfo.postMessage(data);}}');

    這樣就可以直接使用flutter_webview自帶的javascriptChannels了
    channels.add(JavascriptChannel(
    name:"getDeviceInfo",
    onMessageReceived: (JavascriptMessage message) {
    // 處理原來js方法getUserInfo
    }));

    channels.add(JavascriptChannel(
    name:"getUserInfo",
    onMessageReceived: (JavascriptMessage message) {
    // 處理原來js方法getUserInfo
    }));

    如果樓主有其他不引入第三方flutter插件的情況下也能解決這個問題的方法,麻煩告知下

    Flutter WebView 是否可以使用addJavascriptInterface常柄?(完美實現(xiàn))

    ----------接去年的那篇文章------------ 因為項目,我一直繞不過這個坑,最近又開始研究這個問題抱婉,之前的方法相當(dāng)于自己重寫Webview,通過Method...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品