如何将 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() [重复]