zoukankan      html  css  js  c++  java
  • Javascript内容整理——BOM

    JavaScript BOM

    浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。


    BOM(Browser Object Model (BOM))即浏览器对象模型

    BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性,现代的浏览器已经(几乎)实现了 JavaScript 交互相同的方法和属性,因此它经常作为 BOM 的方法和属性被提到

    BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window

    BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分

    常见的BOM对象:

    window:代表整个浏览器窗口(window是BOM中的一个对象,并且是js中的顶级的对象)

    Screen:代表用户的屏幕信息

    Navigator :代表浏览器当前的信息,通过Navigator我们可以获取用户当前使用的是什么浏览器

    Location: 代表浏览器当前的地址信息,通过Location我们可以获取或者设置当前的地址信息

    History:代表浏览器的历史信息,通过History我们可以实现上一步/刷新/下一步操作


    window对象

    windows对象是JavaScript中的顶级对象,所有浏览器都支持 window 对象,它表示浏览器的窗口

    所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员,在调用的时候可以省略window

    全局变量是 window 对象的属性

    全局函数是 window 对象的方法

    甚至 HTML DOM 的 document 也是 window 对象的属性之一:

    window.document.getElementById("header");
    

    或者

    document.getElementById("header");
    

    window对象的方法

    1、alert()

    window.alert("Hello world!"); //显示带有一段消息和一个确认按钮的警告框
    

    2、confirm()

    window.confirm("Hellomegs");  //显示一个带有指定消息和OK及取消按钮的对话框
    

    出现两个按钮:确定和取消

    3、prompt()

    window.prompt("content");  //用户输入内容,content为提示内容
    

    4、open(pageURL,name,parameters)

    pageURL:子窗口路径
    name:子窗口句柄。(name声明了新窗口的名称,方便后期通过name对子窗口进行引用)
    parameters :窗口参数(各参数用逗号分隔)

    window.open(pageURL,name,parameters)  //打开一个新的浏览器窗口或查找一个已命名的窗口
    
    width 窗口宽度 height 窗口高度
    left 窗口X轴坐标 top 窗口Y轴坐标
    toolbar 是否显示浏览器工具栏 menubar 是否显示菜单栏
    scrollbars 是否显示滚动条 location 是否显示地址字段
    status 是否显示添加状态栏

    5、close()

    window.close();  //关闭浏览器窗口
    

    Window 尺寸

    有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)

    对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:

    • window.innerWidth - 浏览器窗口的内部宽度

    • window.innerHeight - 浏览器窗口的内部高度

    对于 Internet Explorer 8、7、6、5:

    • document.documentElement.clientHeight
    • document.documentElement.clientWidth

    或者

    • document.body.clientHeight
    • document.body.clientWidth

    实用的 JavaScript 方案(涵盖所有浏览器):

    var w=window.innerWidth
    || document.documentElement.clientWidth
    || document.body.clientWidth;
    
    var h=window.innerHeight
    || document.documentElement.clientHeight
    || document.body.clientHeight;
    

    该例显示浏览器窗口的高度和宽度:(不包括工具栏/滚动条)


    其他 Window 方法

    window.open() - 打开新窗口

    window.close() - 关闭当前窗口

    window.moveTo() - 移动当前窗口

    window.resizeTo() - 调整当前窗口的尺寸


    Window Screen

    包含有关客户端显示屏幕的信息

    window.screen 对象在编写时可以省略 window

    属性:

    1、screen.availWidth

    性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏

    console.log("页面宽:"+screen.availWidth)  //返回可用的屏幕宽度
    

    2、screen.availHeight

    属性返回访问者屏幕的高度,以像素计,减去界面特性,比如窗口任务栏

    console.log("页面高:"+screen.availHeight)  //返回可用的屏幕高度
    

    Window Location

    window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面

    属性:

    location.herf 返回当前加载页面的完整URL
    location.hash 返回URL中的hash(#号后 跟零或多个字符),如果不包含则返回空字符串
    location.host 返回服务器名称和端口号
    location.hostname 返回 web 主机的域名
    location.pathname 返回当前页面的路径和文件名
    location.port 返回URL中指定的端口号,如果没有,返回空字符串
    location.protocol 返回所使用的 web 协议(http:// 或 https://)
    location.search 返回URL的查询字符串,这个字符串以问号开头

    Window History

    window.history 对象包含浏览器的历史

    history.back() 回到历史记录的上一步
    history.forward() 回到历史记录的下一步
    history.go(-n) 回到历史记录的前n步
    history.go(n) 回到历史记录的后n步

    Window Navigator

    window.navigator 对象包含有关访问者浏览器的信息

    UserAgent:用来识别浏览器名称、版本、引擎 以及操作系统等信息的内容,可以判断设备的终端是移动还是PC

    let agent = window.navigator.userAgent;
        if(/chrome/i.test(agent)){
            alert("谷歌");
        }else if(/firefox/i.test(agent)){
            alert("火狐");
        }else if(/msie/i.test(agent)){
            alert("低级IE浏览器");
        }else if("ActiveXObject" in window){
            alert("低级IE浏览器");
        }
    

    定时器

    通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行,这称之为计时事件。

    超时调用:setTimeOut(code,millisec)

    code:要调用的函数或要执行的JavaScript代码串

    millisec:在执行代码前需等待的毫秒数

    在指定的毫秒数后调用函数或计算表达式,setTimeout()只执行code一次

    清除超时调用:clearTimeout(id_of_settimeout)

    id_of_settimeout :由setTimeout()返回的ID值,该值标识要取消的延迟执行代码块

    取消由setTimeout()方法设置的timeout

    间歇调用:setInterval(code,millisec)

    每隔指定的时间执行一次代码

    单击开始计时按钮后,程序开始从 10 以秒倒计时

    <body>
    		<input type="button" value="倒计时开始10" id="btn" disabled />
    		<script>
    			var btn = document.getElementById("btn");
    			var num = 10;
    			var timerId = setInterval(function() {
    				num--;
    				btn.value = "到时器开始" + num;
    				if (num == 0) {
    					clearInterval(timerId);
    					btn.disabled = false;
    					btn.value = "可以点了";
    				}
    			}, 1000);
    		</script>
    	</body>
    

    人生最可贵的事情,便是少年的迷茫。 ——三毛

  • 相关阅读:
    mysql报错:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
    MD5登陆密码的生成
    15. 3Sum、16. 3Sum Closest和18. 4Sum
    11. Container With Most Water
    8. String to Integer (atoi)
    6. ZigZag Conversion
    5. Longest Palindromic Substring
    几种非线性激活函数介绍
    AI初探1
    AI初探
  • 原文地址:https://www.cnblogs.com/qimuz/p/12676532.html
Copyright © 2011-2022 走看看