使用 Flutter Web 1.9 打开外部链接

Posted

技术标签:

【中文标题】使用 Flutter Web 1.9 打开外部链接【英文标题】:Open external link with Flutter Web 1.9 【发布时间】:2020-01-22 05:45:06 【问题描述】:

我有一个 Flutter web 项目,从 flutter_web 开始并迁移到 1.9,一切正常,但无法使外部链接工作。

在堆栈溢出中有一些解决方案,但任何解决方案似乎都没有按预期工作,从link 和类似的其他解决方案中尝试了所有解决方案,我认为接受的问题将在 1.9 之前工作。

【问题讨论】:

【参考方案1】:

使用flutter 1.10,我们可以使用universal_html包打开外部链接:

import 'package:universal_html/prefer_universal/html.dart' as html;
// ...
html.window.location.assign('https://***.com');

【讨论】:

【参考方案2】:

从今天开始,您可以使用 url_launcher 打开 Flutter Web 应用的 url。它支持相对和绝对网址。 https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher_web

【讨论】:

【参考方案3】:

现在您可以选择添加 url_launcher_web dependency 和 url_launcher,然后将 launchcanLaunch 函数用于您的 Web 项目,就像它是移动的一样。

# pubspec
  url_launcher: 5.2.7            # the newest version rather than ^5.1.4
  url_launcher_web: ^0.1.0

似乎这是一个临时解决方案,要与主要的url_launcher 插件合并。目前它仅适用于网络,但会破坏移动版本(Flutter v1.12.16-pre.35)。

【讨论】:

以上是关于使用 Flutter Web 1.9 打开外部链接的主要内容,如果未能解决你的问题,请参考以下文章

打开 Flutter Webview 链接到浏览器

Flutter Web - 外部编辑时文件不更新

flutter web pwa如何支持多域链接打开主屏应用?

Android:在自定义 Web 视图中检测并打开外部链接

Uniapp打开外部网页跳转指定链接 (打开app以外的web页面)

微信小程序打开外部链接