【问题标题】:How do I link http url to flutter-web如何将 http url 链接到 flutter-web
【发布时间】:2019-10-24 00:09:51
【问题描述】:

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

【问题讨论】:

    标签: flutter dart flutter-web openurl


    【解决方案1】:

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

    import 'dart:html' as html;
    
    html.window.location.href = "https://www.google.com" // or any website your want
    

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

    【讨论】:

    • 如何使用post参数导航到另一个页面,“html.window.location.href”只适用于get参数
    【解决方案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.htmlwindow.location.assign(url);

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 如何在同一个标​​签页中打开?
      • 知道了webOnlyWindowName:'_self',
      【解决方案4】:

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

      调用方法

      【讨论】:

      • 我无法导入飞镖插件。我收到此错误:因为 webapp 依赖于需要 Flutter SDK 的 url_launcher >=3.0.0,所以版本解析失败。 Flutter 用户应该运行 flutter packages get 而不是 pub get
      • 请了解更多详情,pub.dev/packages/url_launcher
      • 我无法在 Flutter Web 中导入原生 Flutter 插件。
      • flutter web 目前不支持插件。任何插件。
      猜你喜欢
      • 2019-01-13
      • 2021-09-05
      • 2012-08-05
      • 1970-01-01
      • 2012-08-18
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多