Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅使用客户端在两个HTML页面之间传递大量数据_Javascript_Jquery_Html - Fatal编程技术网

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

Javascript 仅使用客户端在两个HTML页面之间传递大量数据,javascript,jquery,html,Javascript,Jquery,Html,假设我们有两个页面:A.html和B.html。它们没有相同的来源(相同的域、端口或其他),但我可以编辑它们 我想使用iframe将B.html嵌入A.html。B.html中的元素使用传递给页面的数据(使用jQuery)进行更改 我想将一个很长的字符串从a发送到B。我的第一次尝试是使用url搜索参数: <iframe src=".../B.html?param=a_very_very_long_encoded_string#some-hash"></iframe>

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

我想使用
iframe
B.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请求URI太大
错误

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


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

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


就浏览器支持而言。所有现代浏览器都支持它,但是IE8只支持iFrame,而IE7根本不支持它。IE10支持它,但有一些限制,如MDN中所述。

看看如何使用localStorage-这将满足您的需要,只要两个页面位于同一个域上。@Archer这就是问题所在!这两个页面不在同一个域上…@Archer我不认为本地存储有什么帮助。如果您可以编辑B的php头以允许跨域请求,那么我建议使用ajax@koala_dev他没有说明它是否是跨域的,这就是为什么我说“只要两个页面都在同一个域上”。他在问题中添加了这些信息,因为我提出了这个问题。在加载回调中,应用数据。IE真的是浏览器吗?非常感谢。似乎是正确的答案。:-)遗憾的是,我仍然需要为IE7提供功能支持,但这并没有那么糟糕。不,我是Linux用户,不需要IE支持。:-)这是一个很好的教程。非常感谢。它可以像预期的那样工作。对于那些坚持传统支持的人来说,
window.name
hack可能是一个可以求助的地方,下面介绍一下它的优点和缺点