JavaScript 兼容性问题(代码在 FF 中有效,但在 Opera 和 Chrome 中无效)

标签 javascript iframe cross-browser

我的 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 之间交换数据,可以使用

window.postMessage

Mozilla 文档对此非常好:https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage

也许这会对你有所帮助。

关于JavaScript 兼容性问题(代码在 FF 中有效,但在 Opera 和 Chrome 中无效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21950656/

相关文章:

html - Internet Explorer 和 float : please explain

javascript - 如何在客户端更改 Javascript src 文件?

javascript - html iframe 什么都不显示

javascript - 无法覆盖 magento 2 中的 collapsible.js

javascript - mediawiki 应用程序在 iframe 中无法正常工作

angular - 如何在 Angular 4的iframe上设置本地主机路径

css - 跨浏览器透明字母

jquery - 使用 jQuery 在 Firefox 中获取自动计算边距

javascript - 如何在选择器中引用 SharePoint 属性?

javascript - NodeJS 和 Python-Shell .run 函数不打印 STDOUT