zoukankan      html  css  js  c++  java
  • 关于JS中BOM模型的学习总结

    一、什么是BOM模型?

    当我们打开某一web应用程序,系统会自动生成一个模型,该模型最顶层为Window对象,其他对象(document、screen、location)都是该对象的子对象。

    二、BOM模型原理图

    三、window对象

    对象 说明
    alert(message) 弹出警告框(信息提示)
    confirm(message) 确认框(删除、重置时进行触发)
    prompt(message[,defstr]) 输入提示框
    open(url[,name[,features]])

    打开新窗口,规格参数如下:

    menubar 菜单栏

    toolbar 工具栏

    scrollbars 滚动条

    fullscreen 全屏

    directories 链接工具

    location 地址栏

    status 状态栏

    resizable 是否可以调整大小

    以上参数都是boolean类型数据,可以设置为(yes/no)

    width、height、left、top

    close() 关闭当前窗口(有兼容性问题)
    print() 打开当前窗口
    moveBy(x,y) 相对移动
    moveTo(x,y) 绝对移动
    resizeBy(x,y) 改变窗口大小(相对)
    resizeTo(x,y) 改变窗口大小(绝对)
    scrollBy(x,y) 相对滚动
    scrollTo(x,y) 滚对滚动
    setInterval(表达式,毫秒) 按照指定的周期(以毫秒计)来调用函数或计算表达式。
    setTimeout(表达式,毫秒) 在指定的毫秒数后调用函数或计算表达式。
    clearInterval(定时器对象) 取消由 setInterval() 设置的 timeout。
    clearTimeout(定时器对象) 取消由 setTimeout() 方法设置的 timeout。

    例1:模拟打开新窗口

    window.onload = function() {
        document.getElementById('btn').onclick = function() {
            window.open('http://www.baidu.com/','newwindow','width=500,height=400,menubar=yes');
        }
    }

    例2:通过js编写返回顶部功能

    window.onload = function() {
        document.getElementById('btn').onclick = function() {
            window.scrollTo(0,0);
        }
    }

    例3:调用系统打印机打印当前窗口

    window.onload = function() {
        document.getElementById('btn').onclick = function() {
            window.print();
        }
    }

    四、navigator对象(浏览器对象)

    对象 说明
    appCodeName 浏览器内核名称
    appName 浏览器名称
    appVersion 浏览器发行版本号
    platform 操作系统信息
    online 是否脱机工作
    cookieEnabled 是否开启cookie
    userAgent 用户代理信息,早期用于浏览器判断
    document.write('浏览器内核名称:'+window.navigator.appCodeName+'<hr />');
    document.write('浏览器名称:'+window.navigator.appName+'<hr />');
    document.write('浏览器代理信息:'+window.navigator.userAgent+'<hr />');
    if(window.navigator.userAgent.indexOf('MSIE') > 0) {
        document.write('IE浏览器');
    } else {
        document.write('W3C浏览器');
    }

    五、location对象

    对象 说明
    host 主机名称
    port 端口号,默认是80端口,此处一般都是空白的
    href 获取当前页面的完成URL链接地址
    pathname 路径名称
    protocol 协议(http://协议https://协议)
    search 获取包括?问号在内的参数
    assign(url) 加载url页面(相当于跳转功能)
    document.write('当前url地址:'+window.location.href+'<hr />');
    document.write('搜索参数:'+window.location.search+'<br />');
    // 加载新页面
    window.location.assign('http://www.baidu.com');

    六、screen对象

    对象 说明
    availHeight 可用高度
    availWidth 可用宽度
    colorDepth 颜色比特值
    height 高度
    width 宽度
    document.write('屏幕宽度:'+window.screen.width+'<hr />');
    document.write('屏幕高度:'+window.screen.height);

    七、document对象

    常用方法:

    方法 说明
    getElementById('id') 通过id属性获取指定的DOM对象
    getElementsByName('name') 通过元素的name属性获取DOM对象,返回数组
    getElementsByTagName('tagname') 通过标签名称获取DOM对象,返回数组

    常用属性:

    属性 说明
    linkColor 链接颜色
    alinkColor 正在访问的链接颜色
    vlinkColor 访问后的链接颜色
    bgColor 背景颜色
    fgColor 字体颜色
    title 标题
    function display() {
        if(document.title=='BOM模型') {
            document.title='【有新消息了】- BOM模型';
        } else {
            document.title='BOM模型';
        }
        // 设置定时器调用display函数
        setTimeout('display()',1000);
    }
    window.onload = function() {
        display();
    }
  • 相关阅读:
    spring data jpa @index无法创建索引
    vue form绑定数据后只能显示不能编辑
    vue dialog每次打开会展示上一次数据(转载)
    vue-i18n突然所有的都解析不出来了
    sass计算高度
    动态指定日志路径(logback)
    Springboot配置文件内容加密
    java环境变量修改后不生效
    SOAP和REST
    Git配置别名
  • 原文地址:https://www.cnblogs.com/chenjiacheng/p/6522553.html
Copyright © 2011-2022 走看看