frame和iframe的详解
1. frame不能脱离frameSet单独使用,iframe可以独立使用;
2.不能将
标签与 标签同时使用如果将iframe放在frameset中时必须使用body标签包裹frame标签,chorme下的测试结果是dom解构中没有framset标签;
body>frameset>iframe*3
否则,只有framset中的frame会显示在dom中,iframe不可以;
frameset>frame*3
3. frame高度只能通过frameSet控制,iframe可以自己控制;
4. 从主页面访问
var testWindow = window.test;//获得子框架的window
var testDocument = testWindow.document; //获得子框架的document
其他获得iframe window的几种方法
4.1
var frame1 = document.getElementById('iframe1');
console.log(frame1.contentWindow);
var doc = frame1.contentWindow.document;
4.2 window下一系列方法
window.frames['test']
window.frames[0] 是第一个iframe
window.test
top.frames['test']
top.frames[0];
frames[0]
frames['test'];
5. 从iframe访问外部框架
var parent = window.top;
var parent_doc = parent.document;
window.top指的是最顶部的window,
window.parent指的是包含此iframe的父元素的window,
当且仅当iframe的父元素有且仅有一个的时候,二者相等
6. 在自身的window下
self == window, 区分top.window.parent
在父框架和子页面域名不同的情况下,需要在自己的页面中嵌入对方域名的iframe,才能达到打通的效果;