webview_flutter
官方例子:
import 'dart:io';
import 'package:webview_flutter/webview_flutter.dart';
class WebViewExample extends StatefulWidget {
@override
WebViewExampleState createState() => WebViewExampleState();
}
class WebViewExampleState extends State<WebViewExample> {
@override
void initState() {
super.initState();
// Enable virtual display.
if (Platform.isAndroid) WebView.platform = AndroidWebView();
}
@override
Widget build(BuildContext context) {
return WebView(
initialUrl: 'https://flutter.dev',
);
}
}
这个例子WebView只填了initialUrl
坑1、WebView的javascriptMode默认是JavascriptMode.disabled
既然是网页,怎么会少得了js,还默认是禁用状态。不友好设计!!!
所以WebView的加上JavascriptMode.unrestricted才能跑起来,不然会显示noscript标签的内容
WebView(
javascriptMode: JavascriptMode.unrestricted, // unrestricted: 无限制,disabled:禁用,这是默认状态
initialUrl: widget.url,
)
坑2、需要设置网络权限,不然会出现web page not avaliable
/android/app/src/main/AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
坑3、if (Platform.isAndroid) WebView.platform = AndroidWebView();键盘弹不出来
需要改成if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();

198




被折叠的 条评论
为什么被折叠?



