仅在 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 上重定向的主要内容,如果未能解决你的问题,请参考以下文章