我如何 link http url 到 flutter-web

How do I link http url to flutter-web

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

有一个插件可以实现这个: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 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.html window.location.assign(url);

更新:这是来自 Flutter Web 的一个非常老的“问题”,已经使用“url_launcher”包解决了

import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
const String _url = 'https://flutter.dev';

void main() => runApp(
      const MaterialApp(
        home: Material(
          child: Center(
            child: RaisedButton(
              onPressed: _launchURL,
              child: Text('Show Flutter homepage'),
            ),
          ),
        ),
      ),
    );

void _launchURL() async {
  if (!await launch(_url)) throw 'Could not launch $_url';
}

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

import 'dart:html' as html;

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

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

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

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