BOM下的属性和方法---上

-------------BOM------------------------------------------------
三个系统对话框
 
浏览器可以通过alert()、confirm()和prompt()方法可以调用系统对话框向用户显示信息。
 
       //弹出警告
        alert(“Lee”);            //直接弹出警告框


       //提示框
       //确定和取消
          confirm(“请确定或者取消”);
          if(confirm((“请确定或者取消”)){
      alert(“您按了确定!”);      //按确定返回true
}else{
      alert(“您按了取消!”)       //按取消返回false
 }
        //输入带输入提示框
        var num = prompt(“请输入一个数字”, 0); //两个参数,一个提示,一个值
        alert(num);     //得到输入的值
 
 
 
//prompt  输入的内容  输入的都是字符串。在网页上所有的输入的内容都是字符串。
        var num1 = prompt('请输入第一个数', 100);
        var num2 = prompt('请输入第二个数', 100);
        var rse = confirm('确定计算' + num1 + '+' + num2 + '?');
        if(rse){
            alert(num1 + num2);    //    100100 (假设输入的都是100)    
            alert(Number(num1) + Number(num2));//结果 200(假设输入的是100) //所有网页上输入的内容都是以字符串的形式,如果要进行运算必须转换成Number类型
        }else{
            alert('您取消了!');
        }
 
一个方法open
 
window.open
 
3、open方法
 
            // window.open()
            //
            /*
                open()
                第一个参数:url  打开新窗口,加载该url
                第二个参数:任意字符串  给你打开的新窗口起一个名字
                第三个参数:width,height是窗口的宽高
                          top,left 是以屏幕左上角为原点
 
             */
            
            window.onload = function(){
                var oBtn = document.getElementById("btn1");
                oBtn.onclick = function(){
                    open("https://www.baidu.com", "baidu", "width=400,height=400,left=200,top=200");
                }
 
window.open() 方法可以导航到一个特定的URL,也可以打开
一个新的浏览器窗口,一般可以接受三个参数:
1.要加载的URL
2.窗口的名称或者窗口的目标
3.一个特性的字符串
 
open(“http://www.baidu.com”);             //新建页面并打开百度
open(“http://www.baidu.com”, “baidu”);       //新建页面并命名窗口并打开百度
open(“http://www.baidu.com”, “_parent”);     //在本页窗口打开,_blank是新建
 
【注】不命名会每次打开新窗口,命名的第一次打开新窗口,之后在这个窗口中加载。
 
第三个参数字符串中的参数说明:
 
 
left , top 都是相对于屏幕窗口左上角,而不是浏览器窗口。
open三个参数都是以字符串的形式。
既open(字符串,字符串,字符串);字符串可以直接用引号赋值' '也可用 其他类型用+拼接最后得到字符串。
    open('http://www.baidu.com','baidu','width=400,height=400,top=200,left=200’); 
    //open本身返回子窗口的window对象
    var box = open();
    box.alert('');//可以指定弹出的窗口执行 alert();
 
 
---娱乐---------利用open攻击代码:----------------------
 
--------------------利用open攻击代码:end--------------------------------
 
 
子窗口操作父窗口(火狐支持——了解即可)IE11也支持
 
opener属性
document.onclick = function(){
         opener.document.write(“子窗口让我输出的!”);
}
代码示例:
父网页:
 
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            body{
                 font-size: 9pt;">            }
        </style>
        <script>
            
            window.onload = function(){
                var oBtn = document.getElementById('btn1');
                oBtn.onclick = function(){
                    open("sub.html", "子窗口", "width=400,height=400,left=200,top=200");
                    //点击按钮时利用 window下的open方法打开一个子名字叫 子网页 ,宽400px,高400px,距离屏幕左边的位置200px,
                    //距离屏幕上边的距离200px   的网页。
                }
            }
        </script>
    </head>
    <body>
        <h1>父窗口</h1>
        <button id = 'btn1'>打开子窗口</button>
    </body>
</html>
 
子网页代码:
 
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            body{
                 font-size: 9pt;">            }
        </style>
        <script>
            /*
                【注】opener是火狐兼容
                如果有父窗口打开子窗口这件事情发生,
                在子窗口会产生一个对象  opener
 
                opener是window对象,是打开当前窗口的  父窗口的 window对象
 
             */
            
            window.onload = function(){
                var oBtn = document.getElementById("btn1");
                oBtn.onclick = function(){
                    // alert(opener);
                    opener.document.write("hello world");
                    //所以点击子网页(窗口)的  按钮  向页面输出 hello world 并不会输入到子窗口,而是输出到了父网页(窗口)中
                }
            }
 
        </script>
    </head>
    <body>
        <h1>子窗口</h1>
        <button id = 'btn1'>按钮</button>
    </body>
</html>
 
浏览器效果:
 
 
 
两个对象 history,location
 
history对象
 
【history对象】
       history对象是window对象的属性,它保存这用户上网的记录,从窗口被打开的那一刻算起。
 
7.1.history对象的属性和方法
属性
history.length;//history对象中的记录数
 
方法
history.back();   //前往浏览器历史条目前一个URL,类似后退
history.forward();        //前往浏览器历史条目下一个URL,类似前进
history.go(num); //浏览器在history对象中向前或向后
 
              history对象
 
                history对象的属性
                history.length
                返回,当前窗口的历史记录,只要关闭当前窗口就没有了。
 
                history.length   与  window.history.length  相同说明history是window下的属性,history也是
                个对象(js里一切皆对象),所以它下面也有属性和方法
 
                history对象的方法
 
                history.back()    返回上一条记录
                history.forward() 前进到下一条记录
                history.go(num)   
                    可以传参
                        正整数  2  前进两条记录
                        负整数  2  后退两条记录
                        0  刷新页面
 
 
 
只要两次的url不一样就会产生历史记录(history)
 
代码示例:
 
       <script>
            /*
                history对象
 
                history对象的属性
                history.length
                返回,当前窗口的历史记录,只要关闭当前窗口就没有了。
                
 
                history对象的方法
 
                history.back()    返回上一条记录
                history.forward() 前进到下一条记录
                history.go(num)   
                    可以传参
                        正整数  2  前进两条记录
                        负整数  2  后退两条记录
                        0  刷新页面
 
 
             */
            // alert(history === window.history);
            window.onload = function(){
                var oBtn = document.getElementById('btn1');
 
                oBtn.onclick = function(){
                    /*
                        只要两次url不一样,就会产生历史记录。
 
                     */
                    alert(history.length);
                }
            }
            //返回上一条
            function backFunc(){
                history.back();
            }//返回下一条
            function forwardFunc(){
                history.forward();
            }
            //自定义返回第几条历史,可以存入参数
            function goFunc(){
                history.go(2);
            }
            
        </script>
    </head>
    <body>
        <button id = 'btn1'>展示有几条历史记录</button>
        <button onclick = "backFunc();">back</button>
        <button onclick = "forwardFunc();">forward</button>
        <button onclick = "goFunc();">go</button>
    </body>
</html>
浏览器效果:

 
 
 
location对象
 
location是BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。事实上,location对象是window对象的属性,也是document对象的属性;所以window.location和document.location等效。
 
 
 
 
地址栏   内的内容是 url    (全球资源定位器)。
 
 
location对象下的方法 (函数)
 
location.assign(url)  当前窗口页面跳转,会产生历史记录
location.replace(url)  页面替换,并不会产生历史记录
location.reload()    页面刷新
location.reload(true)    不经过浏览器缓存,直接从服务器上重新加载该也没。强制重载。
 
 
 
 
自己代码示例:
<title>location对象的方法(函数)</title>
    <script>
 
        
        function reloadFun(){
            //相当于浏览器的  刷新  按钮,重新加载的功能(用代码的方式)
            location.reload();
        }
        
        
        function assginFun(){
            //打开一个网址,并产生历史记录,这种行为的表现就是  浏览器的  后退 按钮
            //可以点击,进行后退操作。
            location.assign('https://www.baidu.com');
        }
        
        function replaceFun(){
            //打开一个网址,不产生历史记录,这种行为的表现就是  浏览器的  后退 按钮
            //不可以点击,无法进行后退操作。相当与刚刚打开里一个全新的页面。
            location.replace('https://www.baidu.com');
        }        
        
    </script>
</head>
 
<body>
    <button onClick="reloadFun()">reload页面刷新</button>
    <button onClick="assginFun()">assgind打开页面并产生记录</button>
    <button onClick="replaceFun()">replace打开页面不产生记录</button>
</body>
 
 
浏览器效果:
 
 
 
 
location对象的方法(函数)代码示例:
 
 
      <script>
            /*
                下述location指向的是同一个对象。
                location   窗口上的地址栏对象。

             */
            // alert(window.location === window.document.location);
            //
            // location
            /*
                location的函数(方法)
                location.assign(url)   当前窗口页面跳转,会产生历史记录


                location.replace(url)  页面替换,并不会产生历史记录


                location.reload()      页面刷新
                location.reload(true)  不经过浏览器缓存,直接从服务器上重新加载该页面。强制重载。

             */
            /*
                url  全球资源定位器
             */
            function btnClick(){
                // location.assign("https://www.baidu.com");
                // location.replace("https://www.baidu.com");
                location.reload();
            }
        </script>
    </head>
    <body>
        <button onclick = 'btnClick();'>按钮</button>
    </body>
 
 
location对象的属性(个别属性需要再服务器环境下才能测试)
 
    代码示例1:
 
        <script>
            /*
                下述location指向的是同一个对象。
                location   窗口上的地址栏对象。

             */
            /*
                url  全球资源定位器

                协议://主机名:端口号/路径/?查询字符串#锚点
                protocol://host:port/pathname/?search#hash
             */
            
            /*
                location下的属性

                协议 protocol

                hostname  主机名  域名/IP  www.baidu.com/61.135.169.121
                IP:上网设备所在网络的地址。唯一的。


                pathname  路径

                search  查询字符串(了解)  
                整个url后面,通过?拼接的部分


                hash  锚点


                port  端口号
                在本地电脑上,给每一个正在使用网络的软件,分配一个编号,叫做端口号。

        
                host IP:端口号
                (浏览器 8080   FTP 20,22)

             */
            
            // alert(location.protocol)
            
            // alert(location.hostname);
            

            // alert(location.pathname);
            
            // alert(location.search);
            
            // alert(location.hash);
            
            alert(location.port);
        </script>
    </head>
    <body>
    </body>
完整的url 
 
 
未完结(内容过长_超限)---请查看  BOM下的属性和方法---下
 
 
 

猜你喜欢

转载自www.cnblogs.com/taohuaya/p/9612989.html