Chrome: Getting iFrame and inserting into body

雨燕双飞 提交于 2019-12-19 04:09:35

问题


I've got the following code which works fine in Firefox...

if (!iFrame) iFrame = outerDoc.getElementById('_dialog_iframe');
var iFrameDoc = iFrame.contentWindow.document; // get iframe doc

and the Chrome version...

if (!iFrame) iFrame = outerDoc.getElementById('_dialog_iframe');
var iFrameDoc = iFrame.document; // get iframe doc

I'm testing the code be getting iFrameDoc.body when I run the FireFox code in Firefox it works fine. However, the Chrome code returns undefined. Why? How do I fix this so that it'll work fine in Chrome?


回答1:


If the iframe element has a document property in Chrome then I'm surprised, and it's non-standard and not supported in other browsers. The standards-based property is contentDocument, and to support other browsers you can use contentWindow.document. The following will work in all major browsers:

var iFrameDoc = iFrame.contentDocument || iFrame.contentWindow.document;


来源:https://stackoverflow.com/questions/5002334/chrome-getting-iframe-and-inserting-into-body

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!