前日对iframe的几种文档对象获取方式做了测试,发现一些有趣现象,与大家分享!
假设在页面嵌入如下iframe:
<iframe id="testFrame" name="testFrame" src="#" frameborder="0" border="0" scrolling="no" style="display:none"></iframe>
众所周知,iframe是内嵌窗口,我们可以通过多种方式获取iframe对象及其window\document对象(同域前提),不过哪些是哪些有时会搞不清,测试目的也是为了加深记忆。
比较常见的方法有以下几种,分别测试:
- A:document.getElementById(‘testFrame’)
- B:window.frames['testFrame'];
- C:document.getElementById(‘testFrame’).contentWindow
测试结果(非IE浏览器及IE8)

从测试结果及其比对结果可以看出,A得到的是iframe这个html标签对象,B和C得到的是iframe浏览器对象(window),有意思的是IE7及以下版本浏览器认为这两者是不恒等的
…



