【问题标题】:Redirect only on Flutter Web仅在 Flutter Web 上重定向
【发布时间】:2021-07-31 06:22:45
【问题描述】:

我正在尝试设置一个在 Android 上使用 WebView(pub 上的 flutter_webview)并直接在 web 上重定向的应用程序,因为 flutter_webview 在 web 上不起作用。我在 pub 和 dart:js 上查看了 js,但这不起作用,因为 Android 根本不允许 dart:js 或 package:js 导入。有任何想法吗?我正在使用 kIsWeb 来检测平台(不提供 iOS 或桌面)。

【问题讨论】:

    标签: javascript flutter dart flutter-web


    【解决方案1】:

    在 web 中,只需创建一个这样的方法:

    void openInWindow(String uri, String name) {
      html.window.open(uri, name);
    }
    

    并像这样使用它:

    print('heading over to... $uri');
    openInWindow(uri.toString(), '_self');
    

    【讨论】:

    • 不幸的是,这需要 dart:html,它在 Android 上也被破坏了。
    • universal_html 包适用于所有平台。
    • 正如 Andrej 所说,使用universal_html 是最简单的。同样,您可以使用条件导入:dart.dev/guides/libraries/… 编写两个版本的重定向方法,每个平台一个,将它们放在单独的源文件中,并根据平台导入相关的。
    猜你喜欢
    • 1970-01-01
    • 2015-07-10
    • 2020-12-27
    • 2022-08-09
    • 2017-10-31
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2021-06-07
    相关资源
    最近更新 更多