Flutter Webview 不适用于 Flutter web
Flutter Webview not working for Flutter web
我正在尝试通过 URL 在 webview
中显示网页。
我试过 flutter_webview_plugin
插件,但是当我在浏览器上 运行 项目时它不起作用。
在flutter web application中有没有其他方式显示网页?
flutter_webview_plugin 是将网页嵌入到应用程序中。在 flutter web 中你应该使用 HtmlElementView
widget。
大多数演示都使用 IFrameElement
来嵌入网页。您可以检查此 easy_web_view 包以自动处理移动和网络平台。
它在内部根据部署情况自动使用 HTMLElementView
和 WebView
。
一些示例可用
添加 onLoad 侦听器的更新
IFrameElement iframeElement = IFrameElement()
..src = 'url'
..style.border = 'none'
..onLoad.listen((event) {
// perform you logic here.
});
ui.platformViewRegistry.registerViewFactory(
'webpage',
(int viewId) => iframeElement,
);
return Directionality(
textDirection: TextDirection.ltr,
child: Center(
child: SizedBox(
width: double.infinity,
height: double.infinity,
child: HtmlElementView(viewType: 'webpage'),
),
),
);
如果有人在加载移动端时遇到问题,那么请使用它,它在 Flutter Android、Ios、Web 中有效:-
EasyWebView(
height: 400,
width: 1000,
isHtml: false, // Use Html syntax
isMarkdown: false, // Use markdown syntax
convertToWidgets: true,
src: Uri.dataFromString('<html><body><iframe allow="camera *;microphone *" height="100%" width="100%"'
' frameborder="0" src="$url"></iframe></body></html>', mimeType: 'text/html').toString(),
),
你们可以使用任何 webview 在 web/app 中使用 html 中的 Url 在 flutter 中加载任何网页,只需更改 src = "$url" : )
我正在尝试通过 URL 在 webview
中显示网页。
我试过 flutter_webview_plugin
插件,但是当我在浏览器上 运行 项目时它不起作用。
在flutter web application中有没有其他方式显示网页?
flutter_webview_plugin 是将网页嵌入到应用程序中。在 flutter web 中你应该使用 HtmlElementView
widget。
大多数演示都使用 IFrameElement
来嵌入网页。您可以检查此 easy_web_view 包以自动处理移动和网络平台。
它在内部根据部署情况自动使用 HTMLElementView
和 WebView
。
一些示例可用
添加 onLoad 侦听器的更新
IFrameElement iframeElement = IFrameElement()
..src = 'url'
..style.border = 'none'
..onLoad.listen((event) {
// perform you logic here.
});
ui.platformViewRegistry.registerViewFactory(
'webpage',
(int viewId) => iframeElement,
);
return Directionality(
textDirection: TextDirection.ltr,
child: Center(
child: SizedBox(
width: double.infinity,
height: double.infinity,
child: HtmlElementView(viewType: 'webpage'),
),
),
);
如果有人在加载移动端时遇到问题,那么请使用它,它在 Flutter Android、Ios、Web 中有效:-
EasyWebView(
height: 400,
width: 1000,
isHtml: false, // Use Html syntax
isMarkdown: false, // Use markdown syntax
convertToWidgets: true,
src: Uri.dataFromString('<html><body><iframe allow="camera *;microphone *" height="100%" width="100%"'
' frameborder="0" src="$url"></iframe></body></html>', mimeType: 'text/html').toString(),
),
你们可以使用任何 webview 在 web/app 中使用 html 中的 Url 在 flutter 中加载任何网页,只需更改 src = "$url" : )