4

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

Mandip
  • 59
  • 1
  • 4

4 Answers4

11

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.

Mariano Zorrilla
  • 7,165
  • 2
  • 34
  • 52
3

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

wz366
  • 2,840
  • 6
  • 25
  • 34
2

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);

Dariusz Bacinski
  • 8,324
  • 9
  • 38
  • 47
-3

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

msbomrel
  • 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
  • I am not being able to import native flutter plugins in flutter web. – Mandip Jun 11 '19 at 13:26
  • flutter web does not support plugins right now. Any plugins. – kikap Jun 12 '19 at 18:26