2020-11-25

1.JavaScript中的BOM对象

浏览器对象模型–Browser ObjectModel (BOM)

Window 对象
1.Window Screen–屏幕
2.Window Location----页面的地址(URL)
3.Window History ----对象包含浏览器的历史。
history.back()-与在浏览器点击后退按钮相同
history.forward()----与在浏览器中点击按钮向前相同

4.Window Navigator—对象包含有关访问者浏览器的信息

属性

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

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

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

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

document.documentElement.clientHeight
document.documentElement.clientWidth

或者

document.body.clientHeight
document.body.clientWidth

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

    <title>Document</title>
    <script>
        window.onload = function () {
            //确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)
            var w = window.innerWidth ||
                document.documentElement.clientWidth ||
                document.body.clientWidth;
            var h = window.innerHeight ||
                document.documentElement.clientHeight ||
                document.body.clientHeight;
            window.alert(w + "*" + h);
        }
    </script>
</head>

<body>

</body>

</html>

在这里插入图片描述
方法
其他方法:
open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口
Window.close()用于关闭浏览器窗口
格式:window.open(URL,name,features,replace)

URL一个可选的字符串,声明了要在新窗口中显示的文档的 URL。如果省略了这个参数,或者它的值是空字符串,那么新窗口就不会显示任何文档。
name一个可选的字符串,该字符串是一个由逗号分隔的特征列表,其中包括数字、字母和下划线,该字符声明了新窗口的名称。这个名称可以用作标记 <a 和 <form 的属性 target 的值。如果该参数指定了一个已经存在的窗口,那么 open() 方法就不再创建一个新窗口,而只是返回对指定窗口的引用。在这种情况下,features 将被忽略。
features一个可选的字符串,声明了新窗口要显示的标准浏览器的特征。如果省略该参数,新窗口将具有所有标准特征。
replace一个可选的布尔值。规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。支持下面的值:true - URL 替换浏览历史中的当前条目。 ------ false - URL 在浏览历史中创建新的条目。
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        function open_win(){
            window.open("https://user.qzone.qq.com/308216417");
        }
        function open_aboutblank(){
            window.open("about:blank", "空白页","width=500,height=600 " ,false);
        }
    </script>
</head>
<body>
    <input type="button"  value="打开我的QQ空间" onclick="open_win()"><br>
    <input type="button"  value="打开空白页" onclick="open_aboutblank()">
</body>
</html>

重要事项:请不要混淆方法 Window.open() 与方法 Document.open(),这两者的功能完全不同。为了使您的代码清楚明白,请使用 Window.open(),而不要使用 open()。

close() 方法用于关闭浏览器窗口。

说明:方法 close() 将关闭有 window 指定的顶层浏览器窗口。某个窗口可以通过调用 self.close() 或只调用 close() 来关闭其自身。
只有通过 JavaScript 代码打开的窗口才能够由 JavaScript 代码关闭。这阻止了恶意的脚本终止用户的浏览器。
方法一:

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var myWindow= window.open("about:blank","","width=600,height=700");
        myWindow.document.write("This is 'mywindow'");

        function closeWin(){
            myWindow.close();
        }
    </script>
</head>
<body>
    <input type="button"  value="Close 'myWindow'"  onclick="closeWin()">
</body>
</html>

方法二:

    <title>Document</title>
    <script>
        var myWindow=null;
        window.onload=function(){
            myWindow = window.open("about:blank","","width=600,height=700");
            myWindow.document.write("This is 'mywindow'");

        }
        function closeWin(){
            myWindow.close();
        }
    </script>
</head>
<body>
    <input type="button"  value="Close 'myWindow'"  onclick="closeWin()">
</body>
</html>

在这里插入图片描述

JavaScript 弹窗方法

在 JavaScript 中创建三种消息框:警告框、确认框、提示框。

警告框:window.alert(“sometext”);

确认框:window.confirm(“sometext”);

当确认卡弹出时,用户可以点击 “确认” 或者 “取消” 来确定用户操作。

当你点击 “确认”, 确认框返回 true, 如果点击 “取消”, 确认框返回 false。

确认框:

    <title>Document</title>
    <script>
           window.onload=function(){
                var  anniuobj =    document.getElementById("anniu");
                anniuobj.onclick=function(){
                    //window.alert(" 警告框!")
                   var val= window.confirm("确定要删除嘛!");
                   //window.alert(val);
                   if(val){
                    var  divobj =    document.getElementById("div1");
                    var  scobj =    document.getElementById("sc");
                    divobj.removeChild(scobj );
                   }
                }
           }
    </script>
    <style>
        #div1 {
            width: 500px;
            height: 600px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="div1">
        <h1 id="sc">测试确认框</h1>
    </div>
    <input type="button" value="删除h1" id="anniu">
</body>
</html>

提示框:window.prompt(“sometext”,“defaultvalue”);
当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。

如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。
参数1—提示信息
参数2—提示框的默认值

    <title>Document</title>
    <script>
           window.onload=function(){
                var  anniuObj =    document.getElementById("anniu");
                anniuObj.onclick=function(){
                    //window.alert(" 警告框!")
                   var val= window.confirm("确定要删除嘛!");
                   //window.alert(val);
                   if(val){
                    var  divObj =    document.getElementById("div1");
                    var  scObj =    document.getElementById("sc");
                    divobj.removeChild(scobj );
                   }
                }
                var  anniuObj2 =   document.getElementById("anniu2");
                anniuObj2.onclick=function(){
                var  val=  window.prompt("提示:请输入姓名","");
                //alert(val);
                if( val.length>0){
                    alert(val);
                }else{
                    alert("不能为空!");
                }
                }
           }
    </script>
    <style>
        #div1 {
            width: 500px;
            height: 600px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="div1">
        <h1 id="sc">测试确认框</h1>
    </div>
    <input type="button" value="删除h1" id="anniu"><br>
    <input type="button"  value="提示框" id="anniu2">
</body>
</html>

子对象

1.Window Screen–屏幕

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

1.总宽度和总高度 — screen.width / screen.height
2.可用宽度和可用高度----screen.availWidth / screen.availHeight
3.色彩深度----screen.colorDepth
4.色彩分辨率----screen.pixelDepth

    <title>Document</title>
    <script>
        //1.总宽度和总高度  --- screen.width   /  screen.height
        window.document.write(" <h1>总宽度和总高度"+window.screen.width+
        "*"+window.screen.height+"</h1>")
        //2.可用宽度和可用高度----screen.availWidth  / screen.availHeight
        window.document.write(" <h1>可用宽度和可用高度"+window.screen.availWidth+
        "*"+window.screen.availHeight+"</h1>")
        //3.色彩深度----screen.colorDepth
        window.document.write(" <h1>色彩深度"+window.screen.colorDepth+"</h1>")
        //4.色彩分辨率----screen.pixelDepth
        window.document.write(" <h1>色彩分辨率"+window.screen.pixelDepth+"</h1>")
    </script>
</head>
<body>
    <h1></h1>
</body>
</html>

在这里插入图片描述

2.Window Location—页面的地址 (URL)

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

location.href 属性返回当前页面的 URL。
location.pathname 属性返回 URL 的路径名。
location.assign() 方法加载新的文档。
location.search 属性是一个可读可写的字符串,可设置或返回当前 URL 的查询部分(问号 ? 之后的部分)。

    <title>Document</title>
    <style>
         body {
            background-image: url(img/01ca01be6e0e4c218a92f454db76cfcb.jpeg);
            background-repeat: no-repeat;
            background-position: center top;
            /* 把背景图片固定住 */
            background-attachment: fixed;

            color: red;
            font-size: 30px;
            font-family: kaiti;
        }
    </style>
     <script>
        document.write("<h1>href:"+window.location.href+"</h1>");//location.href 属性返回当前页面的 URL。
        document.write("<h1>pathname:"+window.location.pathname+"</h1>");//location.pathname 属性返回 URL 的路径名。
        document.write("<h1>search:"+window.location.search+"</h1>")//location.search 属性是一个可读可写的字符串,可设置或返回当前 URL 的查询部分(问号 ? 之后的部分)。
    </script>
</head>
<body>
    
</body>
</html>

在这里插入图片描述
实例:
登录页面

    <title>Document</title>
    <style>
         table{
             
            width: 1000px;
            height: 676px;
            
        }
        
        body {
            background-image: url(img/01ca01be6e0e4c218a92f454db76cfcb.jpeg);
            background-repeat: no-repeat;
            background-position: center top;
            /* 把背景图片固定住 */
            background-attachment: fixed;
         
        }
    </style>
<script>
        window.onload=function(){
            var but1=document.getElementById("but1");
            var username=document.getElementById("text1");
            var password=document.getElementById("pass1");
            var span=document.getElementById("span");
            but1.onclick=function(){
            
            var usernamevalue=username.value;
            var passwordvalue=password.value;
            if(usernamevalue=="mabaoguo" &&  passwordvalue=="123456"){

                //跳转到登录成功的页面,传递用户名
                window.location.href="成功页面.html? usernamevalue" +usernamevalue ;
            }else{
               
                span.innerHTML="<font color='red'>年轻人错了!</font>";
            }
            }
            //为用户名添加聚焦事件
            username.onfocus=function(){
                span.innerHTML="";
                username.value="";
                password.value="";
            }
           
        }
</script>
</head>

<body>
    <table border="1"  cellspacing="0" align="center">
        <tr align="center">
            <td colspan="2">
                <h1>马老师弟子登录</h1>
                <span id="span"></span>
            </td>
        </tr>
        <tr align="center">
            <td>用户名:</td>
            
            <td >
                <input id="text1" type="text" name="username" >
            </td>
        </tr>
        <tr align="center">
            <td >
               密码:
            </td>
            <td>
                <input id="pass1" type="password" name="password">
            </td>
        </tr>
        <tr align="center">
            <td colspan="2">
                <input  id="but1" type="button" value="登录按钮">
            </td>
        </tr>
    </table>
</body>

</html>

在这里插入图片描述

成功页面

    <title>Document</title>
    <style>
         body {
            background-image: url(img/f095cbf2fc3c396b);
            background-repeat: no-repeat;
            background-position: center top;
            /* 把背景图片固定住 */
            background-attachment: fixed;
         
        }
    </style>
    <script>
        window.onload=function(){
            var searchvalue=window.location.search;
            if(searchvalue.length<=0){
                window.location.href="用户登录.html";
            }else{
                //searchvalue===?username=mabaoguo
                //var strarray=searchvalue.split("=");
                //var username=strarray[1];
                var username=searchvalue.split("=")[1];
                var h1obj=document.getElementById("h1");
                h1obj.innerHTML="欢迎年轻人,"+ username +"登录成功!";
            }
        }
    </script>
</head>
<body>
    <center>
        <h1 id="h1">年轻人,耗子尾汁!</h1>
    </center>
</body>
</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值