仅使用客户端在两个 HTML 页面之间传递大量数据

Passing huge data between two HTML pages using only the client side

本文关键字:之间 数据 HTML 两个 客户端      更新时间:2023-09-26

假设我们有两个页面:A.htmlB.html。它们没有相同的来源(相同的域、端口或其他内容),但我可以编辑它们。

我想使用 iframeB.html嵌入到A.html中。B.html中的元素使用传递给页面的数据(使用 jQuery)进行更改。

我想从 A 到 B 发送一个很长的字符串。我的第一次尝试是使用 url 搜索参数:

<iframe src=".../B.html?param=a_very_very_long_encoded_string#some-hash"></iframe>

该应用程序仅在本地计算机上运行良好,但在网络上我收到414 Request-URI Too Large错误。

我不知道如何仅使用客户端来完成此操作。

是否有其他选择,或者我必须使用带有 POST 方法的服务器端?

这看起来是一个很好的帖子用例。Postmessages允许父页面与其iframe或打开的窗口(双向)之间进行跨域通信。至于对发送的消息大小的限制,我认为它们足够大,可以处理您希望跨域从一个窗口发送到另一个窗口的大多数内容。MDN 中没有提到任何限制。

就浏览器支持而言。所有现代浏览器都支持它,但是IE8只支持iFrames,IE7根本不支持它。IE10支持它,但有限制,在MDN中提到。