【发布时间】:2014-03-04 17:39:36
【问题描述】:
我有一段 Javascript 代码如下...
var btnOK = document.getElementById('btnOK');
btnOK.style.visibility = "visible";
var iframeControlObj = document.getElementById('iframe');
this.style.visibility = "hidden";
var file_xml = iframeControlObj.contentDocument.getElementById('hiddenxml');
file_xml.value = xml_value;
iframeControlObj.contentWindow.location.reload();
说明
我有一个 iframe,其中有一个控件“hiddenxml”。我想将数据从当前网页发送到 iframe。因此,我将值初始化为“hiddenxml”并重新加载 iframe。
问题
在 Firefox 中,我可以通过“hiddenxml”获取“xml_value”,但在 Chrome 和 Opera 中,我无法获取此信息。
请告诉我为什么会这样。如果这是一个垃圾方法,请随时提供更好的方法并改进它。非常感谢..
PS:xml_value 可以很大,大约 3-4 MB。 xml_value 是字符串而不是 DOM 对象
【问题讨论】:
-
当你重新加载 iframe 时,它会刷新服务器上的所有内容,并且你对 DOM 所做的任何修改都会丢失。
-
有什么解决办法??如何将当前页面的信息发送到 iframe 中??
-
按其他顺序执行:重新加载帧,然后发送数据。
-
实际上,IFrame 中有一段 Javascript 代码,在重新加载时会自动执行。我编写的这个函数对“hiddenxml”执行操作。因此,重新加载 -> 分配数据年表对我不起作用。
标签: javascript iframe cross-browser