I'm learning flutter web.
I'm trying to open another url when button is clicked.
Is there any way like this:
onclick: ()=>openurl("https://test.com")
How can I achieve this?
Please help

- 59
- 1
- 4
4 Answers
UPDATE: This is a VERY old "issue" from Flutter Web and has already been resolved using the "url_launcher" package
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';
}
Current easiest way to do it is by using href
with your html
library:
import 'dart:html' as html;
html.window.location.href = "https://www.google.com" // or any website your want
Put that code inside your onTap
method and that's it.

- 7,165
- 2
- 34
- 52
-
1how to navigate to another page with post parameters, "html.window.location.href" only works with get parameters – Dhanaji Yadav May 21 '20 at 08:23
You can now use url_launcher
just like for other platforms, web support has been added.
https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher_web

- 2,840
- 6
- 25
- 34
Flutter Web does not support plugins (yet), so you have to use replacements from dart:html
https://api.dartlang.org/stable/2.4.0/dart-html/Window/open.html
window.open(url, 'tab');
or
https://api.dartlang.org/stable/2.4.0/dart-html/Window/location.html window.location.assign(url);

- 8,324
- 9
- 38
- 47
There is a plugin to achieve this: https://pub.dartlang.org/packages/url_launcher
Import the plugin;
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';
}
}
Call the method

- 521
- 6
- 19
-
I am not being able to import dart plugins. I get this error: Because webapp depends on url_launcher >=3.0.0 which requires the Flutter SDK, version solving failed. Flutter users should run `flutter packages get` instead of `pub get`. – Mandip Jun 09 '19 at 05:00
-
please find more details about this, https://pub.dev/packages/url_launcher – msbomrel Jun 09 '19 at 05:11
-
-