我想改变“网页不可用”,在我的WebView应用程序,如果用户没有互联网。
我读了文档,并尝试一些其他的puglin
import 'package:webview_flutter/webview_flutter.dart';
[...]
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: const WebView(
initialUrl: 'https://google.com',
javascriptMode: JavascriptMode.unrestricted,
),
);
}
}
字符串
3条答案
按热度按时间yvt65v4c1#
只需将onWebResourceError方法添加到Webview。
字符串
sf6xfgos2#
你可以试试我的插件flutter_inappwebview。它有事件来管理错误,而WebView正在加载一个URL(
onLoadError
事件),当它收到HTTP错误,如403,404等(onLoadHttpError
事件)。如果用户没有互联网连接,则加载自定义错误页面的工作代码的完整示例:
字符串
其结果是:
x1c 0d1x的数据
这个例子直接加载一个html源,但是你也可以从assets文件夹或者url加载一个html文件。
只是为了好玩:我的插件包括谷歌Chrome t-rex游戏的JavaScript和css代码!
xv8emn3q3#
如前所述,InAppWebView有很好的支持。上面建议的实现有点过时。这里是更新的实现,它在页面加载错误时将HTML字符串加载到视图中(超时)。这是经过测试的,适用于最新版本的插件和Android 14。
我没有包括任何其他方法处理,但这里是完整的实施工作。
字符串