BOM

作者: 言叶丶 | 来源:发表于2017-03-07 15:06 被阅读0次

    window对象

    全局变量会成为window对象的属性,但是全局变量不能通过delete 删除,而直接定义在window对象上的属性可以

    var age = 17;
    window.color = 'red';
    
    // 在ie9以下浏览器中抛出异常,其他浏览器中返回false
    delete window.age;
    // 在ie9以下浏览器中抛出异常,其他浏览器中返回true
    delete window.color;
    
    console.log(window.age, window.color); // 14, undefined
    

    刚才使用 var 语句添加的 window 属性有一个名为 [[Configurable]] 的特性,这个特性的值被设置为 false , 因此这样定义的属性不可以通过delete 操作符删除。 IE8及更早版本在遇到使用 delete删除 window 属性的语句时,不管该属性最初是如何创建的,都会抛出错误,以示警告。IE9 及更高版本不会抛出错误

    窗口关系及框架
    <html>
    <head>
        <title>Frameset Example</title>
    </head>
    <frameset rows="160,*">
        <frame src="frame.htm" name="topFrame">
        <frameset cols="50%,50%">
            <frame src="anotherframe.htm" name="leftFrame">
            <frame src="yetanotherframe.htm" name="rightFrame">
        </frameset>
    </frameset>
    </html>
    

    top 对象始终指向最高(最外)层的框架,也就是浏览器窗口
    parent (父)对象始终指向当前框架的直接上层框架。
    self ,它始终指向 window ;实际上, self 和 window 对象可以互换使用。引入 self 对象的目的只是为了与 top 和 parent 对象对应起来,因此它不格外包含其他值


    Paste_Image.png
    窗口位置

    用来确定和修改 window 对象位置的属性和方法有很多。IE、Safari、Opera 和 Chrome 都提供了 screenLeft 和 screenTop 属性,分别用于表示窗口相对于屏幕左边和上边的位置。Firefox 则在 screenX 和 screenY 属性中提供相同的窗口位置信息, Safari 和 Chrome 也同时支持这两个属性。 Opera 虽然也支持 screenX 和 screenY 属性,但与 screenLeft 和 screenTop 属性并不对应,因此建议大 家不要在 Opera 中使用它们。使用下列代码可以跨浏览器取得窗口左边和上边的位置。

    var leftPos = (typeof window.screenLeft) == 'number' ? window.screenLeft : window.screenX;
    var topPos = (typeof window.screenTop) == 'number' ? window.screenTop : window.screenY;
    
    
    窗口大小

    IE9+、Firefox、Safari、Opera 和 Chrome 均为此提供了 4个属性: innerWidth 、 innerHeight 、 outerWidth 和 outerHeight 。IE8 及更早版本没有提供取得当前浏览器窗口尺寸的属性

    在IE9+、FireFox、Safari中: outerWidth, outerHeight返回浏览器本身的大小(无论是从最外层的 window 对象还是从某个框架访问)而 innerWidth 和 innerHeight则表示该容器中页面视图区的大小(减去边框宽度)
    在Opera中: outerWidth, outerHeight这两个属性的值表示页面视图容器 的大小。 而innerWidth 和 innerHeight则表示该容器中页面视图区的大小(减去边框宽度)
    Chrome 中: outerWidth 、 outerHeight 与innerWidth 、 innerHeight 返回相同的值,即视口(viewport)大小而非浏览器窗口大小

    location 对象

    location 既是window对象, 也是document对象。即:doucment.location 和 window.location 引用的是同一个对象。

    location对象

    直接改变location的值,实际上也是调用assign方法。
    window.location = "www.baidu.com";
    window.location.href = "www.baidu.com";
    这两种方式等价于window.location.assign('www.baidu.com);

    相关文章

      网友评论

          本文标题:BOM

          本文链接:https://www.haomeiwen.com/subject/pcxmgttx.html