Flutter webView

问题描述 投票:-1回答:1

我已经创建了一些网站的网址列表,单击应用程序中的相应按钮即可进入(第一个网站的第一个按钮,第二个网站的第二个按钮,依此类推...)。我正在使用“ 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个回答
0
投票

声明这样的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


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

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

例如:

WebView(
         initialUrl: 'https://flutter.dev/',
        javascriptMode: JavascriptMode.unrestricted,
      ),
© www.soinside.com 2019 - 2024. All rights reserved.