Flutter webview_flutter页面缺失且无法交互(如打开侧边栏)求助
WebView Flutter 内容缺失与交互失效问题解决办法
下面是针对你遇到的网页内容缺失、无法交互问题的几个常见解决方向:
启用JavaScript
绝大多数现代网页依赖JavaScript渲染内容和实现交互,显式开启JS支持即可:controller = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..loadRequest(Uri.parse('https://www.*******.com/'));设置适配的用户代理(UA)
部分网站会根据用户代理判断设备类型,返回不同页面版本。如果默认UA被识别为非移动端,可能导致内容或交互异常,可手动设置移动端UA:controller = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..setUserAgent('Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1') ..loadRequest(Uri.parse('https://www.*******.com/'));启用DOM存储与缓存
部分页面需要DOM存储保存状态或加载缓存内容,开启相关配置:controller = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..setDomStorageEnabled(true) ..setCacheMode(WebViewCacheMode.loadDefault) ..loadRequest(Uri.parse('https://www.*******.com/'));处理页面导航与交互请求
侧边栏这类交互可能涉及新窗口打开或自定义导航,通过NavigationDelegate处理:controller = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..setNavigationDelegate( NavigationDelegate( onNavigationRequest: (request) { return NavigationDecision.navigate; }, onWebResourceError: (error) { print('资源加载错误: ${error.description}'); }, ), ) ..loadRequest(Uri.parse('https://www.*******.com/'));
完整修改后的代码
late final WebViewController controller; @override void initState() { super.initState(); controller = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..setDomStorageEnabled(true) ..setUserAgent('Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1') ..setNavigationDelegate( NavigationDelegate( onNavigationRequest: (request) => NavigationDecision.navigate, onWebResourceError: (error) => print('资源加载错误: ${error.description}'), ), ) ..loadRequest(Uri.parse('https://www.*******.com/')); } @override Widget build(BuildContext context) { return Scaffold( body: WebViewWidget( controller: controller, ), ); }
内容的提问来源于stack exchange,提问作者Mert
相关产品推荐
相关产品推荐

