【问题标题】:Flutter webView颤振网页视图
【发布时间】:2019-11-26 05:28:40
【问题描述】:

我已经创建了一些网站的网址列表,我想通过点击应用程序中的相应按钮来访问这些网站(第一个网站的第一个按钮,第二个网站的第二个按钮,依此类推......) .我正在使用“flutter-webview-plugin”,它具有“Scaffold”的所有属性以及属性“url”。我无法在“url”属性中以“索引方式”访问这些网站(就像我们访问列表中的图像一样,索引方式)。

我的代码:

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
  return MaterialApp(
    title: 'Just Another App',
    home: Home(),
    routes: {
      "/webview": (_) => WebviewScaffold(
            withJavascript: true,
            withLocalStorage: true,
            url: ,
            appBar: AppBar(
              title: Text('Browser'),
            ),
          ),
    },
    theme: ThemeData(primaryColor: Colors.black),
  );
} 
}

我还没有分享按钮的代码,因为它已经完成了,这是唯一需要解决的问题。非常感谢任何帮助。

【问题讨论】:

    标签: flutter dart flutter-layout


    【解决方案1】:

    像这样声明WebViewController

    WebViewController controller;

    然后在每个按钮上按更改 url,

              RaisedButton(onPressed: () {
                  url = 'https://flutter.dev/docs/get-started/editor';
                  setState(() {
                    print(url);
                    controller.loadUrl(url);
                  });
                }),
                RaisedButton(onPressed: () {
                  url = 'https://flutter.dev/docs/get-started/test-drive';
                  setState(() {
                    print(url);
                    controller.loadUrl(url);
                  });
                }),
    

    现在在 webview 中声明你的控制器,

                Expanded(
                  child: WebView(
                    initialUrl: url,
                    onWebViewCreated: (WebViewController webViewController) {
                      controller = webViewController;
                    },
                  ),
                ),
    

    我创建了一个working example here


    另外, 要在 WebView 上启用点击事件,您必须通过在您的代码中添加 javascriptMode: JavascriptMode.unrestricted 在您的 webview 中启用 javascript。因为,

    默认情况下,WebView 中的 JavaScript 是禁用的

    例如:

    WebView(
             initialUrl: 'https://flutter.dev/',
            javascriptMode: JavascriptMode.unrestricted,
          ),
    

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 2021-04-21
      • 2020-04-21
      • 2021-11-21
      • 2020-07-01
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 2019-02-17
      相关资源
      最近更新 更多