top最顶层浏览器,parent当前框架的直接上层框架,window是共有的对象,每个框架都拥有自己的window对象,self当前框架等于当前window
父框架中引用自框架的方式:
window.frames[0]、window.frames['name']
top.frames[0]、top.frames['name']
frames[0]、frames['name']
获取窗口位置的写法:
var leftPos = (typeof window.screenLeft == 'number') ? window.screenLeft : window.screenX;
var topPos = (typeof window.screenTop == 'number') ? window.screenTop : window.screenY;
其中window.screenLeft和window.screenTop是ie、opera、chrome、safari中的写法,window.screenX、window.screenY是ffmoveTo中的写法
moveTo()、moveBy()、resizeTo()、resizeBy()在ie和opera中适用,chrome和ff中适用于window.open()打开的窗口,本地打开的无效;并且这几个方法不适用于框架,只能对最外层的window对象使用
window.open()第一个参数,打开的url,第二个指定在哪个框架中打开,也可以是_self、_blank、_top、_parent,如果没有第二个参数,将会按照第三个参数的设置到开新窗口,在不打开新窗口的情况下,会忽略第三个参数
获取浏览器视口大小:
var pageWidth = window.innerWidth;
var pageHeight = window.innnerHeight;
if(typeof pageWidth != "number"){
if(document.campatMode == 'CSS1Compat'){
pageWidth = document.documentElement.clientWidth;
pageHeight = document.documentElement.clientHeight;
}else{
//兼容ie的写法,不需要兼容ie6不必写
pageWidth = document.body.clientWidth;
pageHeight = docuement.body.clientHeight;
}
}
其中window.innerWidth、window.innnerHeight是chrome和ff识别的写法,document.documentElement.clientWidth、document.documentElement.clientHeight是ie、ff、opera、chrome、safari识别的写法,有body属性的是ie6的写法
打卡第一天😋
网友评论