我在Flutter Webview上看到浏览器的旧错误,如何解决?

问题描述

我正在为具有远程教育系统的站点准备一个Webview应用程序。该站点的基础结构是moodle,bigbluebutton用于现场课程。当我们单击实时课程时,浏览器为旧版本时出现错误,请使用新版本。 Bigblubutton使用最健康的铬。我使用flutter_inappwebview插件添加了chrome基础架构,但仍然遇到相同的错误。我将样本网址留在下面。如果您能帮助我,我会很高兴。 bigbluebutton:https://test.bigbluebutton.org/ 我使用的插件:https://pub.dev/packages/flutter_inappwebview

完整代码

     import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';

class MyInAppBrowser extends InAppBrowser {

  @override
  Future onLoadStart(String url) async {
    print("\n\nStarted $url\n\n");
  }

  @override
  Future onLoadStop(String url) async {
    print("\n\nStopped $url\n\n");
  }

  @override
  void onLoadError(String url,int code,String message) {
    print("\n\nCan't load $url.. Error: $message\n\n");
  }

  @override
  void onExit() {
    print("\n\nBrowser closed!\n\n");
  }

}

class MyChromeSafariBrowser extends ChromeSafariBrowser {

  MyChromeSafariBrowser(browserFallback) : super(bFallback: browserFallback);

  @override
  void onOpened() {
    print("ChromeSafari browser opened");
  }

  @override
  void onCompletedInitialLoad() {
    print("ChromeSafari browser initial load completed");
  }

  @override
  void onClosed() {
    print("ChromeSafari browser closed");
  }
}

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(
    new MyApp(),);
}

class MyApp extends StatefulWidget {
  final ChromeSafariBrowser browser = new MyChromeSafariBrowser(new MyInAppBrowser());

  @override
  _MyAppState createState() => new _MyAppState();
}

class _MyAppState extends State<MyApp> {

  @override
  void initState() {
    widget.browser.addMenuItem(new ChromeSafariBrowserMenuItem(id: 1,label: 'Custom item menu 1',action: (url,title) {
      print('Custom item menu 1 clicked!');
      print(url);
      print(title);
    }));
    widget.browser.addMenuItem(new ChromeSafariBrowserMenuItem(id: 2,label: 'Custom item menu 2',title) {
      print('Custom item menu 2 clicked!');
      print(url);
      print(title);
    }));
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('ChromeSafariBrowser Example'),),body: Center(
          child: RaisedButton(
              onPressed: () async {
                await widget.browser.open(
                    url: "https://test.bigbluebutton.org/",options: ChromeSafariBrowserClassOptions(
                        android:
                        AndroidChromeCustomTabsOptions(addDefaultShareMenuItem: false,enableUrlBarHiding: true,packageName: "com.android.chrome"),ios: IOSSafariOptions(barCollapsingEnabled: true)));
              },child: Text("Open Chrome Safari Browser")),);
  }
}

 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)