3

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

我想嵌入B.htmlA.htmlusing iframe. 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 方法的服务器端?

4

1 回答 1

2

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

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

于 2013-09-10T17:38:11.143 回答