当前设置(使用launch
)
我希望在我的Flutter Web应用程序中使用链接,目前我是这样做的(使用url_launcher
软件包):
return MouseRegion(
cursor: SystemMouseCursors.click,
child: GestureDetector(
onTap: () {
launch('https://creativemaybeno.dev');
},
child: const Text(
'my amazing link',
style: TextStyle(
decoration: TextDecoration.underline,
),
),
),
);
使用launch
的有效方法
这段代码片段做对了三件事情:
- 在移动设备上完全可用
- 当鼠标悬停时显示点击光标
- 在网页上打开链接(在大多数情况下)
使用launch
无法解决的问题
然而,与在正常HTML中使用<a>
锚点元素相比,在网页上有很多问题:
- 浏览器左下角不会显示链接预览。
这是在正常HTML页面上的外观:
链接似乎比常规网页应用程序中的链接打开得更慢
Safari完全阻止我的链接(“阻止了一个弹出窗口”)
尤其是Safari不起作用以及链接预览没有显示的问题,我需要解决,以获得流畅的网页体验。我该如何实现这一点?