美文网首页技术文JavaScript学习笔记
JavaScript中的两大护法(一)

JavaScript中的两大护法(一)

作者: 紫荆峰 | 来源:发表于2016-11-19 14:32 被阅读0次

    0.前言

    最近学习了JavaScript中的BOM和DOM,感觉就像两大护法,为JavaScript保驾护航,今天就来分享一下这二者之一———BOM

    1.BOM简介

    BOM.png

    BOM:浏览器对象模型(Browser Object Model),是操作浏览器和屏幕的对象集合。通过window全局对象来使用它们。
      此时可以发现,我们过去定义的变量其实就是给window这个全局对象添加的属性;过去声明的函数其实就是给window这个全局对象添加的方法。
      通过上面的结构图可以发现window下面有很多属性,对象。尤其是在第二行:

    • window.document:表示的是当前的文档(页面),他的属性和方法属于DOM范围,我们下节分享。
    • window.frames:表示当前页面所用的所有框架的集合
    • window.navigator:它是用来描述浏览器及其功能的对象。
    • window.screen:它是用来描述浏览器以外的环境,例如屏幕的宽高,分辨率之类的。
    • window.location:是对浏览器页面进行的操作。如刷新、加载之类的。
    • window.history:是对浏览器访问的历史记录,足迹之类进行的操作。
        上面的这是六种方法中,今天着重说两个:loactionhistory

    2.正文

    这样干说没意思,我们以案例说话。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>BOM简介</title>
    </head>
    <body>
        <button onclick="wh()">跳转到红色界面</button>
        <button onclick="refresh()">刷新界面</button>
        <button onclick="ass()">加载红色界面</button>
        <button onclick="goBack()">上一页</button>
        <button onclick="goForward()">下一页</button>
        <button onclick="goPage()">直接跳到历史记录中的黄色界面</button>
        <script type="text/javascript">
        </script>
    </body>
    </html>
    

    首先搭好界面,第一部分:
    window.location
    在代码中的javascript中添加下面下面代码:

    console.log(window.location.href);
    
            function wh() {
                alert("瞅你咋地");
                window.location.href = "";
            }
            function refresh() {
                
                window.location.reload();
            }
            function ass() {
                
                // window.location.assign("red.html");
                window.location.replace("red.html");
            }
    

    这段代码用了几个location方法:
    (1)href:表示的是当前页面所在的本地地址在浏览器上显示出来了。
    (2)reload():表示的是刷新界面;
    (3)reload(true):也表示的是刷新界面,但是刷新的界面,不会被缓存。
    (4)assign():加载接的界面,可以返回上一页。
    (5)replace():也是加载新的界面,但是不会在历史记录中留下痕迹,就是说返回不了上一页。
    注意:更改location中的href和调用assgin()会清空历史记录

    第二部分:window.history

    function goBack(){
                window.history.back();
            }
            function goForward(){
                window.history.forward();
            }
    
            function goPage() {
                window.history.go(2);
            }
    

    (1)length:表示浏览记录的个数
    (2)back():上一页
    (3)forward():下一页
    (4)go(num):直接跳到指定的历史记录,如果num小于0会跳到当前界面之前的num的绝对值个记录。如果num大于0,会跳到当前界面之后的num值记录。
    注意:如果想用go(num)进行页面的跳转,必须在浏览器中有历史记录,否则是跳转不到指定的界面的


    3.以上是对BOM进行简单的总结以及常用的一些方法,希望对大家有所帮助,谢谢!!!!!!!

    相关文章

      网友评论

        本文标题:JavaScript中的两大护法(一)

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