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

Posted

技术标签:

【中文标题】如何将参数发送到嵌入式 Flutter Web 应用程序?【英文标题】:How does one send arguments to an embedded Flutter web app? 【发布时间】:2020-04-09 16:19:39 【问题描述】:

按照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】:

设法找到一种发送参数的方式。基本上可以把URL查询参数放在iframe的src URL上,像这样:

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

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

// 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".

【讨论】:

以上是关于如何将参数发送到嵌入式 Flutter Web 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

将资产视频发送到 Web 服务 - iOS

如何将xml参数发送到WCF?

如何将参数发送到 HTTPService 调用以作为组件重用

如何将参数发送到 npm test [重复]

如何将参数发送到 Azure Runbook api

如何在表单提交时将参数发送到路由