flutter_webview Ios端请求网页显示空白
程序员文章站
2022-06-04 14:41:24
...
flutter_webview Ios端请求网页显示空白
- 在使用flutter_webview插件时,请求网页在Android端运行正常,但在IOS端一些网页可以正常打开而一些网页无法打开。
经过排查和与前端同学沟通发现,打不开的网页有从后端请求js
的操作。 - 于是把问题定位到了js没有被加载。
- 通过查看flutter_webview代码,发现其有
javascriptMode
属性,该属性用于控制js的开启和禁用。
enum JavascriptMode {
/// JavaScript execution is disabled.(禁用)
disabled,
/// JavaScript execution is not restricted.(不限制)
unrestricted,
}
而插件源码中这个属性是禁用的
const WebView({
Key? key,
this.onWebViewCreated,
this.initialUrl,
this.javascriptMode = JavascriptMode.disabled,//默认禁用
this.javascriptChannels,
this.navigationDelegate,
this.gestureRecognizers,
this.onPageStarted,
this.onPageFinished,
this.onProgress,
this.onWebResourceError,
this.debuggingEnabled = false,
this.gestureNavigationEnabled = false,
this.userAgent,
this.initialMediaPlaybackPolicy =
AutoMediaPlaybackPolicy.require_user_action_for_all_media_types,
this.allowsInlineMediaPlayback = false,
})
因此正是由于这个原因导致需要加载js的网页显示不出来,于是问题就引刃而解了,只要将javascriptMode
属性设置为JavascriptMode。unrestricted
即可。
上一篇: CSS继承性和层叠性
下一篇: WebView加载网页进度条显示