目前当我点击一张图片时,由于该图片对象有关联的URL,因此应该打开一个Web视图。我正在使用Flutter的url_launcher库,并且已经按照以下方式实现了代码:
onTap: () async {
final url = image.url;
if (await canLaunch(url)) {
await launch(
url,
forceSafariVC: true,
forceWebView: true,
enableJavaScript: true,
);
}
},
我的理解是这会启动一个WebView,它是一个应用内浏览器,而不是将用户带出应用进入单独的浏览器应用程序。这个方法可以工作良好,但页面加载速度较慢且Javascript元素无法正常工作(例如网站上的动画文本)。另一方面,
onTap: () async {
final url = banners[index].url;
if (await canLaunch(url)) {
await launch(
url
);
}
},
使用WebView速度更快,所有内容都正确加载,并且运行效果更好,但它会打开一个外部浏览器,这不是我想要的。
另一个问题是,我想在WebView的左上角添加一个“完成”按钮,以完全退出WebView并返回到应用程序中的上一个页面。但是我只有一个返回按钮位于左下角(在Android模拟器上),可以让我回到我之前在浏览器中所处的上一页。 如果我没有任何访问权,如何自定义WebView的布局? url_launcher似乎在内部处理了WebView的创建,因此我想知道如何从上述代码中获得访问权限以添加该按钮?
谢谢!