BOM

2020-06-11  本文已影响0人  村东头老骥

BOM

简介:浏览器对象模型,BOM可以使我们通过JS来操作浏览器,在BOM中为我们提供了一组对象,用来完成对浏览器的操作.

BOM对象:

【注意】:这些BOM对象在浏览器中都是作为window对象的属性保存的,可以通过window对象来使用,也可以直接使用

Navigator

简介:代表的当前浏览器的信息,通过该对象可以来识别不同的浏览器,由于历史原因,Navigator对象中的大部分属性都已经不能帮助我们识别浏览器了,一般我们只会使用userAgent来判断浏览器的信息,userAgent是一个字符串,这个字符串中包含有用来描述浏览器信息的内容,不同的浏览器会有不同的userAgent

代码示例

console.log(navigator.userAgent)
// 谷歌浏览器
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
// 火狐浏览器
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0
// IE8
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)

// IE9
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)

// IE10
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)

// IE11
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko

// 判断当前浏览器的信息
if (/firefox/i.test(navigator.userAgent)) {
    alert('火狐浏览器')
} else if (/Chrome/i.test(navigator.userAgent)) {
    alert('谷歌浏览器')
} else if (/msie/i.test(ua)) {
    alert("你是IE浏览器~~~");
} else if ("ActiveXObject" in window) {
    alert("你是IE11,枪毙了你~~~");
}

判断是否是IE浏览器

/*
* 如果通过UserAgent不能判断,还可以通过一些浏览器中特有的对象,来判断浏览器的信息
* 比如:ActiveXObject
*/
if ("ActiveXObject" in window) {
    alert("你是IE,我已经抓住你了~~~");
} else {
    alert("你不是IE~~~");
}

History

简介:对象可以用来操作浏览器向前或向后翻页

常用的属性方法

    <script type="text/javascript">
        // alert(history.length)
        window.onload = function () {

            // 获取按钮对象
            var btn = document.getElementById("btn")

            btn.onclick = function () {
                // 返回上一页
                history.back();
                // 返回下一页
                history.forward();
            }

        }
    </script>

Location

简介:该对象中封装了浏览器的地址栏的信息

常用的属性和方法

window

定时调用

简介 :JS的程序的执行速度是非常非常快的,如果希望一段程序,可以每间隔一段时间执行一次,可以使用定时调用

setInterval()

代码示例

        window.onload = function () {
            var count = document.getElementById('count');

            // for (var i = 0; i < 1000; i++) {
            //     count.innerHTML = i;
            // }

            var num = 1;
            var timer = setInterval(function () {
                count.innerHTML = num++;
                if (num == 11) {
                    //关闭定时器
                    clearInterval(timer);
                }
            }, 1000);
        }

延时调用

简介 : 延时调用一个函数不马上执行,而是隔一段时间以后在执行,而且只会执行一次延时调用和定时调用的区别,定时调用会执行多次,而延时调用只会执行一次延时调用和定时调用实际上是可以互相代替的,在开发中可以根据自己需要去选择

代码示例

        <script type="text/javascript">
            
            var num = 1;

            var timer = setTimeout(function(){
                console.log(num++);
            },3000);
            
            //使用clearTimeout()来关闭一个延时调用
            clearTimeout(timer);
            
        </script>
上一篇 下一篇

猜你喜欢

热点阅读