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

时间:2013-09-10 17:05:19

标签: javascript jquery html

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

我想使用B.htmlA.html嵌入iframeB.html中的元素使用传递的数据更改为页面(使用jQuery)。

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

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

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

我不知道如何只使用客户端才能做到这一点。

有没有其他选择,或者我必须使用POST方法使用服务器端吗?

1 个答案:

答案 0 :(得分:2)

这似乎是postmessages的一个很好的用例。 Postmessages允许父页面与其iframe或打开的窗口(两种方式)之间的跨域通信。至于对正在发送的消息大小的限制,我认为它们足够大,可以处理您希望从一个窗口到另一个窗口发送跨域的大多数事情。 MDN没有提及限制。

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