web前端学习(四)JavaScript学习笔记部分(8)-- JavaScript 浏览器对象

1、window对象

1.1、window对象:

  window对象是BOM的核心,window对象指当前的浏览器窗口

  所有javaScript全局对象、函数以及变量均自动生成为window对象的成员

  全局变量是window对象的属性

  全局函数是window对象的方法

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

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    window.document.write("hello");/*这个效果和不写window.是一样的*/
</script>
</body>
</html>

 

1.2、window尺寸

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

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

  备注:这个高度和宽度计算的不包含工具栏和滚动条这一部分 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    document.write(`高度:`+window.innerHeight+`,宽度:`+window.innerWidth);/*这个效果和不写window.是一样的*/
</script>
</body>
</html>

 

1.3window方法:

  window.open() - 打开新窗口

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

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button id="btn" onclick="btnOnClick()">按钮</button>
<script>
    function btnOnClick(){
        window.open("array1.html","hahaha","width=300,height=300,top=300,left=300,toolbar=yes")
                    /*要打开的窗口名|窗口命名|属性设置|toolbar设置属性如何显示,谷歌浏览器直接没有toolbar*/
        window.close();/*关闭当前窗口*/
    }
</script>
</body>
</html>

 

2、计时器

2.1、计时事件

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

2.2、计时方法:

  1、setInterval() - 间隔指定的毫秒数不停地执行指定的代码

    clearInterval() - 方法用于停止setInterval()方法执行的函数代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button id="btn" onclick="stopTime()">anniu</button>
<p id="ptime"></p>
<script>
    var mytime = setInterval(function(){
        getTime();
    },1000)
    function getTime(){
        var d = new Date();
        var t = d.toLocaleTimeString();
        document.getElementById("ptime").innerHTML = t;
    }
    function stopTime(){
        clearInterval(mytime);
    }
</script>
</body>
</html>

 

  2、setTimeout() - 暂停指定的毫秒数后执行指定的代码

    clearTimeout() - 方法用于停止执行setTimeout()方法的函数代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button id="btn" onclick="myWin()">弹出一次</button>
<button id="btn2" onclick="myWin2()">一直弹出</button>
<button id="btn3" onclick="stopWin()">停止弹出</button>
<script>
    var win;
    function myWin(){
        win = setTimeout(function(){
            alert("hello");
        },3000);
    }
    function myWin2(){
        alert("hello");
        win = setTimeout(myWin2,3000);
        /*方法自己调用自己可以一直执行*/
    }
    function stopWin(){
        clearInterval(win);
    }
</script>
</body>
</html>

区别:第一个方法是一只调用函数,第二种方法是一直自己调用自己

3、History对象

3.1、History对象:

  window.history对象包含浏览器的历史(url)的集合

3.2、History方法:

  history.back() - 与在浏览器点击后退按钮相同

  history.forward() - 与在浏览器中点击按钮向前相同

  history.go() - 进入历史中的某个页面(当前页面是0,可以往前是负数,往后是正数)

history1.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a href="history2.html">点击跳转到history2.html</a>
<button id="btn" onclick="forwardJump()">向前进(下一个页面)跳转</button>
<script>
    function forwardJump(){
        history.forward();
    }
</script>
</body>
</html>

 

history2.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button id="btn" onclick="goceshi()">点击跳回到之前的页面</button>
<script>
    function goceshi(){
        history.back();/*返回到之前的界面*/
    }
</script>
</body>
</html>

 

 

history.go()用法:

home.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>主页</title>
</head>
<body>
<a href="login.html">进入登录验证界面</a>
</body>
</html>

 

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录界面</title>
</head>
<body>
<form action="">
    <input type="text" id = username>
</form>
<button id="btn" onclick="safe()">确认</button>
<script>
    function safe(){
        var name = document.getElementById("username").value;
        if(name == "hello"){
            history.go(-1);
        }else{
            alert("输入错误");
        }
    }
</script>
</body>
</html>

 

 

4、Location对象

4.1、Location对象:

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

4.2、Location对象的属性:

  location.hostname:  返回web主机的域名

  location.pathname:  返回当前页面的路径和文件名

  location.port:  返回web主机的端口

  location.protocol:  返回所使用的web协议(http://或https://)

  location.href:  属性返回当前页面的URL

  location.assign()方法加载新的文档

<!DOCTYPE html>
<!--suppress ALL -->
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="div">
    <button id="btn1" onclick="getLoc()">按钮1</button>
    <button id="btn2" onclick="reNew()">按钮2</button>
    <p id="ptime"></p>
</div>
    <script>
        function getLoc(){
            document.getElementById("ptime").innerHTML = window.location.port;
            var newnode = document.createElement("div");
            document.getElementById("div").appendChild(newnode);
            newnode.innerHTML = window.location.port;
        }
        function reNew(){
            location.assign("http://www.baidu.com");
        }
    </script>
</body>
</html>

 

5、Screen对象

5.1、Screen对象:

  window.screen对象包含有关用户屏幕的信息

5.2、属性:

  screen.availWidth - 可用的屏幕宽度

  screen.availHeight - 可用的屏幕高度

  screen.height - 屏幕高度

  screen.width - 屏幕宽度

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    document.write(`可用高度`+screen.availHeight+`,可用宽度`+screen.availWidth+`<br/>`);
    document.write(`整体高度`+screen.height+`,整体宽度`+screen.width+`<br/>`);
</script>
</body>
</html>

 

posted @ 2018-12-09 10:19  林丶  阅读(195)  评论(0编辑  收藏  举报