BOM 详解

window

    系统对话框:

        alert    警告

        confirm    确认

        prompt    输入弹出

        print    打印

    新建窗口:

        window.open()

            url

            目标窗口(_parnet,_blank)

            参数选项

                大小位置

                    width,height,top,left


                是否显示栏目

                    resizable

                    location

                    menubar

                    status

                    toolbar 

            可控制原窗口

1
2
var box = window.open('http://www.qwphp.com');   
box.alert('hello qwphp');

        window.close()

            关闭窗口

    窗口位置和大小:

        窗口位置 

            窗口离屏幕的位置,最大化时为0

            支持情况

                IE支持screenLeft,screenTop,

                firefox支持screenX,screenY,

                其他都支持

            兼容方案

1
2
var leftX = (typeof screenLeft == 'number') ? screenLeft : screenX;
var topY = (typeof screenTop == 'number') ? screenTop : screenY;


        页面可视大小

            主流浏览器

                innerWidth,innerHeight

            IE浏览器

                document.documentElement.clientWidth

            IE6非标准模式

                document.body.clientWidth;

            兼容方案

1
2
3
4
5
6
7
8
9
10
11
function getInnerWidth() {
    var width = window.innerWidth; //这里要加window,因为IE 会无效
    if (typeof width != 'number') { //如果是IE,就使用document
        if (document.compatMode == 'CSS1Compat') {
            width = document.documentElement.clientWidth;
        else {
            width = document.body.clientWidth; //非标准模式使用body
        }
    }
    return width;
}
1
2
3
4
5
6
7
8
9
10
11
function getInnerHeight() {
    var height = window.innerHeight; //这里要加window,因为IE 会无效
    if (typeof height != 'number') { //如果是IE,就使用document
        if (document.compatMode == 'CSS1Compat') {
            height = document.documentElement.clientHeight;
        else {
            height = document.body.clientHeight; //非标准模式使用body
        }
    }
    return height;
}


    间歇调用和超时调用:

        按毫秒不停的执行代码

            setInterVal,clearInterval

        指定毫秒后执行一次代码

            setTimeout,clearTimeout

location

    属性:

        主机相关

            host    主机名+端口

            hostname    主机名

            port    端口名

            protocol    协议部分

        后段字符串

            pathname    路径和文件名

            search    查询字符串

            hash    锚点部分

        href    整个URL

    方法:

        assign()    

            跳转到指定页面

        reload()    

            重载url

        replace()

            替换url

            可避免跳转前历史

    获取参数方法:

        

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function getArgs() {
    var args = [];
    //去除?号   
    var qs = location.search.length > 0 ? location.search.substring(1) : '';
    var items = qs.split('&');
    var item = null, name = null, value = null;
    for (var i = 0; i < items.length; i++) {
        item = items[i].split('=');
        name = item[0];
        value = item[1];
        args[name] = value;
    }
    return args;
}


history

    属性:

        length    ​历史记录数

    方法:

        back()

    ​    ​    ​后退

    ​    ​forward()

    ​    ​    ​前进

    ​    ​go(num)

    ​    ​    ​跳转指定页

navigator

    包含有关浏览器的信息:

        userAgent

    ​    ​    ​浏览器的用户代理字符串

    浏览器嗅探器:

        browserdetect.js

    ​    ​    ​BrowserDetect.browser    ​浏览器名称

    ​    ​    ​BrowserDetect.version    ​浏览器版本号

 

posted @ 2017-03-02 17:43  前望  阅读(142)  评论(0编辑  收藏  举报