如何将参数发送到嵌入式Flutter Web应用程序?

时间:2019-12-17 07:38:59

标签: flutter flutter-web

按照here的指示,可以将Flutter Web应用程序包装到网页中,方法是将其包装到 iframe 元素中,例如:

<iframe src="URL"></iframe>

URL指向Flutter Web应用程序html的位置。

现在,如果您想根据上下文预先配置Flutter Web应用程序-让它知道嵌入器(iframe HTML元素或父网页/窗口)中存在的某些外部值。

也许有一种解决方法,可以指示Flutter从iframe读取数据属性?例如:

<iframe src="URL" data-answer="42"></iframe>

还有其他选择吗?

(更广泛的问题是嵌入式和嵌入式之间的双向通信。)

1 个答案:

答案 0 :(得分:1)

设法找到一种发送参数的方法。基本上可以将URL查询参数放在iframe的src URL上,如下所示:

<iframe src="https://foo.bar?answer=42"></iframe>

要在Flutter网络应用程序中获取查询参数,您需要:

// Use a dependency on package:universal_html/html.dart
final Map<String, String> params = Uri.parse(html.window.location.href).queryParameters;
final String answer = params['answer']; // -> and there you have the "42".