Flutter构建 webview_flutter的核心使用

flutter不提供webiew。所以要使用webview_flutter插件。webview_flutter支持ios和android。
申请权限

<uses-permission android:name="android.permission.INTERNET" />

引入插件

dependencies:
webview_flutter: ^4.13.0

效果
请添加图片描述
代码

class MyState
extends State {

void initState() {
super.initState();
}

Widget build(BuildContext context) {
WebViewController controller = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setNavigationDelegate(
NavigationDelegate(
onProgress: (int progress) {
// Update loading bar.
},
onPageStarted: (String url) {
},
onPageFinished: (String url) {
},
onHttpError: (HttpResponseError error) {
},
onWebResourceError: (WebResourceError error) {
},
onNavigationRequest: (NavigationRequest request) {
if (request.url.startsWith('https://www.youtube.com/')) {
return NavigationDecision.prevent;
}
return NavigationDecision.navigate;
},
),
);
controller.loadRequest(Uri.parse('https://flutter.cn'));
return Scaffold(
appBar: AppBar(
title: Text("登录"),
centerTitle: true,
backgroundColor: Colors.blue,
foregroundColor: Colors.white,
),
body: WebViewWidget(controller: controller),
);
}
}
posted @ 2025-08-22 15:54  yfceshi  阅读(14)  评论(0)    收藏  举报