如何将 http url 链接到 flutter-web

Posted

技术标签:

【中文标题】如何将 http url 链接到 flutter-web【英文标题】:How do I link http url to flutter-web 【发布时间】:2019-10-24 00:09:51 【问题描述】:

我正在学习 Flutter Web。 单击按钮时,我正在尝试打开另一个网址。 有没有这样的方法:onclick: ()=>openurl("https://test.com") 我怎样才能做到这一点? 请帮忙

【问题讨论】:

【参考方案1】:

目前最简单的方法是将 href 与您的 html 库一起使用:

import 'dart:html' as html;

html.window.location.href = "https://www.google.com" // or any website your want

将该代码放入您的 onTap 方法中即可。

【讨论】:

如何使用post参数导航到另一个页面,“html.window.location.href”只适用于get参数【参考方案2】:

Flutter Web 不支持插件(目前),所以你必须使用来自dart:html 的替代品

https://api.dartlang.org/stable/2.4.0/dart-html/Window/open.html window.open(url, 'tab');

https://api.dartlang.org/stable/2.4.0/dart-html/Window/location.htmlwindow.location.assign(url);

【讨论】:

【参考方案3】:

您现在可以像其他平台一样使用url_launcher,添加了网络支持。

https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher_web

【讨论】:

如何在同一个标​​签页中打开? 知道了webOnlyWindowName:'_self',【参考方案4】:

有一个插件可以实现这个:https://pub.dartlang.org/packages/url_launcher

导入插件;

import 'package:url_launcher/url_launcher.dart';

openURL() async 
  const url = 'https://test.com';
  if (await canLaunch(url)) 
    await launch(url);
   else 
    throw 'Could not launch $url';
  

调用方法

【讨论】:

我无法导入飞镖插件。我收到此错误:因为 webapp 依赖于需要 Flutter SDK 的 url_launcher >=3.0.0,所以版本解析失败。 Flutter 用户应该运行 flutter packages get 而不是 pub get 请了解更多详情,pub.dev/packages/url_launcher 我无法在 Flutter Web 中导入原生 Flutter 插件。 flutter web 目前不支持插件。任何插件。

以上是关于如何将 http url 链接到 flutter-web的主要内容,如果未能解决你的问题,请参考以下文章

我无法将 URL 链接分配给 http.get() [重复]

Dart/Flutter:快速检查 404 链接列表

如何在 WebView Flutter 中允许 mailto 和 tel URL 方案?

Flutter:将文本作为链接打开

在 Flutter 中将图像超链接到 URL

如何在 Flutter/Dart 中使用 url 编码的标头和正文发出 HTTP POST 请求