仅在 Flutter Web 上重定向

Posted

技术标签:

【中文标题】仅在 Flutter Web 上重定向【英文标题】:Redirect only on 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 或桌面)。

【问题讨论】:

【参考方案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/… 编写两个版本的重定向方法,每个平台一个,将它们放在单独的源文件中,并根据平台导入相关的。

以上是关于仅在 Flutter Web 上重定向的主要内容,如果未能解决你的问题,请参考以下文章

使用 Apache Shiro 和 CAS 在 SSO 上重定向循环,用于 Web 应用

在 Laravel POST 请求上重定向 302

钩子在 wordpress 上重定向

如何使用javascript在特定页面上重定向

如何在 ASP.Net Core Razor 页面上重定向

如何使用 PrimeFaces 在 JSF 上重定向?