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

标签 javascript jquery html

假设我们有两个页面: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>

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

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

是否有任何替代方法,或者我必须使用带有 POST 方法的服务器端?

最佳答案

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

就浏览器支持而言。所有现代浏览器都支持它,但是 IE8 仅支持 iFrame,而 IE7 则完全不支持。 IE10 支持它但有限制,在 MDN 中提到。

关于javascript - 仅使用客户端在两个 HTML 页面之间传递大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18724950/

相关文章:

javascript - 将类添加到一个元素而不是所有元素,例如里面

javascript - JQuery 垃圾收集——这会干净吗?

javascript - 如何使用 jquery sortable 将元素从框 1 拖放到框 2?

javascript - 让 jStorage 工作

html - 如何创建 <tr><td> 宏?

javascript - 通过父 div 到祖 parent div 背景的 div 透明

javascript - 在 Meteor 中从 pdf "template"生成 pdf

html - 通过 CSS 超链接图像,无需 JS、Action、Object 等

html - DIV 位置 :fixed - overflow issue

javascript - 如何通过正则表达式替换路径中的任意字符串?