【发布时间】:2019-10-24 00:09:51
【问题描述】:
我正在学习 Flutter Web。
单击按钮时,我正在尝试打开另一个网址。
有没有这样的方法:onclick: ()=>openurl("https://test.com")
我怎样才能做到这一点?
请帮忙
【问题讨论】:
标签: flutter dart flutter-web openurl
我正在学习 Flutter Web。
单击按钮时,我正在尝试打开另一个网址。
有没有这样的方法:onclick: ()=>openurl("https://test.com")
我怎样才能做到这一点?
请帮忙
【问题讨论】:
标签: flutter dart flutter-web openurl
目前最简单的方法是将 href 与您的 html 库一起使用:
import 'dart:html' as html;
html.window.location.href = "https://www.google.com" // or any website your want
将该代码放入您的 onTap 方法中即可。
【讨论】:
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);
【讨论】:
您现在可以像其他平台一样使用url_launcher,添加了网络支持。
https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher_web
【讨论】:
webOnlyWindowName:'_self',
有一个插件可以实现这个: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';
}
}
调用方法
【讨论】:
flutter packages get 而不是 pub get。