概述
window.frames属性返回页面内所有框架窗口,类似数组的对象,包括iframe元素。window.frames[0]表示页面中第一个框架窗口。
如果iframe元素设置了id或name属性,那么就可以用属性值,引用这个iframe窗口。比如<iframe name="myIFrame">可以用frames['myIFrame']或者frames.myIFrame来引用。
观点1: frames属性实际上是window对象的别名。
frames === window // true
个人观点:感觉虽说frames === window // true,但是通过打印元素发现,其实frames[0]这类打印出来的比window对象少很多东西,所以应该不能画等号。
因此,frames[0]也可以用window[0]表示。但是,从语义上看,frames更清晰,而且考虑到window还是全局对象,因此推荐表示多窗口时,总是使用frames[0]的写法。更多介绍请看下文的《多窗口操作》部分。
window.length属性返回当前网页包含的框架总数。如果当前网页不包含frame和iframe元素,那么window.length就返回0。
window.frames.length === window.length // true
总结
window.frames 是window的一个属性。这个属性返回的是窗口中iframe 的数组。对于某个iframe 而言,window.frames[0]相当于那个iframe 窗口的window
参考
阮一峰的博客 http://javascript.ruanyifeng.com/bom/window.html#toc5
网友评论