Flutter webview_flutter:无法使用 java 脚本代码检测平台

Posted

技术标签:

【中文标题】Flutter webview_flutter:无法使用 java 脚本代码检测平台【英文标题】:Flutter webview_flutter: Not able to detect platform with java-script code 【发布时间】:2021-03-25 19:19:17 【问题描述】:

我正在使用 webview_flutter 来显示网页。我正在使用下面的代码来检测平台,比如它是 android 还是 ios。我下面的代码不起作用。 Flutter webview - https://pub.dev/packages/webview_flutter 我在正文中添加了以下类。

class - view-withKeyboard


function applyAfterResize() 
            console.log(getMobileOperatingSystem());
            if (getMobileOperatingSystem() == 'ios') 
                if (originalPotion !== false) 
                    var wasWithKeyboard = $('body').hasClass('view-withKeyboard');
                    var nowWithKeyboard = false;
                        var diff = Math.abs(originalPotion - ($(window).width() + $(window).height()));
                        if (diff > 100) nowWithKeyboard = true;
                    $('body').toggleClass('view-withKeyboard', nowWithKeyboard);
                    if (wasWithKeyboard != nowWithKeyboard) 
                        //onKeyboardOnOff(nowWithKeyboard);
                    
                
            
        
        $(document).on('focus blur', '.white-div input[type=text]', function(e)
            //alert('here');
            if (getMobileOperatingSystem() == 'ios') 
              var $obj = $(this);
              var nowWithKeyboard = (e.type == 'focusin');
              $('body').toggleClass('view-withKeyboard', nowWithKeyboard);
              onKeyboardOnOff(nowWithKeyboard);
            
        );

【问题讨论】:

您能否向我们展示一下您如何使用 WebView 小部件。 【参考方案1】:

先启用javascriptMOde,然后使用evaluateJavascript

WebView(
    javascriptMode: JavascriptMode.unrestricted,
    initialUrl: '',
    onWebViewCreated:
        (WebViewController webViewController) async 
      webViewController.evaluateJavascript(
          "javascript:(function()  " +
              "console.log('Test Test Test');" +
              ")()");
    ,
  ),

【讨论】:

以上是关于Flutter webview_flutter:无法使用 java 脚本代码检测平台的主要内容,如果未能解决你的问题,请参考以下文章

Flutter - 如何使用 webview_flutter 包播放 Google Drive 视频预览

无法在 webview_flutter 中加载相机

webview_flutter 在 iOS 中存档时导致问题

Flutter关于webview_flutter设置cookie

webview_flutter 无法隐藏/更改某些元素

webview_flutter 3.0.0 问题无法解决(onWebViewCreated)