4

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

4

4 回答 4

11

更新:这是来自 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方法中,就是这样。

于 2019-06-26T15:27:46.777 回答
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.html window.location.assign(url);

于 2019-06-18T20:52:39.890 回答
2

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

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

于 2019-12-26T00:52:02.657 回答
-3

有一个插件可以实现这一点: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';
  }
}

调用方法

于 2019-06-09T04:49:19.630 回答