• js学习笔记(十一)窗口和框架


    window对象的属性(注意,window代表的就是窗口)

      window属性的更多内容可以详见http://221.199.150.103/jsj/Html/page/book/js/d_Window.htm?F=14,L=1

       window.closed  //一个布尔值,只有当窗口被关闭时,它的值才为true

       window.defaultStatus  //设置或返回窗口状态栏中的默认文本。该属性可读可写。FF浏览器不支持该属性

      window.frames[]  //frames[]是窗口中所有命名的框架组成的数组。这个数组的每个元素都是一个Window对象,对应于窗口中的一个框架,浏览器窗口中每个<frameset>和<iframe>定义的框架都是frames[]数组中的元素,注:frames[]数组的元素内部还可以有框架,所以frames[i]可以有自己的frames[]数组

      window.opener //返回创建本窗口的Window对象的引用,意思就是window.opener 是在由window.open()所创建或打开的新窗口中使用的,其引用的就是window.open()中的这个window对象,所以说window.opener提供了一种把两个窗口联系在了一起的方法。但是如果新的窗口不是由window.open()打开的,而是被用户人工打开的,则此时window.opener的值为null.注:只有顶层窗口的Window对象的operner属性才有效,表示框架的Window对象的operner属性无效

      window.self  //对当前窗口自身的引用,window、self、window.self是等价的

      window.parent  //对当前窗口的父窗口的引用,如果窗口本身是就是顶层窗口,没有父窗口了,parent属性返回的是对自身的引用。

      window.top //对最顶层窗口的引用,如果当前窗口就是最顶层窗口,则top返回的是对自身的引用。注意,有些时候顶层窗口与父窗口时不同的。

      一个防止别人用框架引用自己网页的代码:

    if (window != top) {top.location = window.location;} 

     

    window对象的子对象

         window.history对象是由一系列的URL组成。这些URL是用户在一个浏览器窗口内已访问的URL。History对象最初设计来表示窗口的浏览历史。但出于隐私方面的原因,History对象不再允许脚本访问已经访问过的实际URL。唯一保持使用的功能只有back()、forward()和go()方法。

                window.history.length  //返回浏览器历史列表中的元素数量

                window.history.back()   //加载历史列表中的前一个URL(相当于浏览器中后退功能按钮)

                window.history.forward()   //加载历史列表中的下一个URL(前进)

                window.history.go()  //加载历史列表中的某个具体的页面

     

        window.location对象包含了窗口当前显示的文档的URL信息。如果把一个URL字符串赋予Location对象或它的href属性,浏览器就会把新的URL所指的文档装载进来,并显示出来。我们还可以利用Location对象的属性修改部分URL,这样就会创建新的URL,其中的一部分与原来的URL不同,浏览器会将它装载并显示出来。

                 window.location.href    //设置或返回完整的url

                window.location.protocol    //设置或返回当前URL的协议

                 window.location.host    //设置或返回当前url主机名和当前URL的端口号

                 window.location.hostname    //设置或返回当前url主机名

                window.location.port    //设置或返回当前url的端口号

                 window.location.pathname     //设置或返回当前url的路径部分,如:“http://www.123.com:2700/example/test.htm#part2”中的路径字段是“/example/test.htm”。

                 window.location.search     //设置或返回从问号(?)开始的URL(查询部分)如:“http://www.123.com:2700/example/test.htm?K=5#part2”中的查询部分是“?K=5”。

                window.location.hash     //设置或返回从井号(#)开始的URL(锚)

    ----------------方法-------------------

                 window.location.assign(url)     //加载指定的url文档,url参数为一个字符串,该方法与window.location.href等效

                 window.location.reload()    //重新加载当前l文档

                 window.location.replace(url)    //加载一个新文档取代当前l文档,url参数为一个字符串。注:replace()方法不会在History对象中生成一个新的纪录。当使用该方法时,新的URL将覆盖History对象中的当前纪录

           window.navigator对象包含有关客户机浏览器的信息

                 window.navigator.appVersion   //返回浏览器的版本号和其他信息,注意,这应该视为内部的版本号,因为它不总是与显示给用户的版本号一致。

                 window.navigator.appName   //返回浏览器的名称

                 window.navigator.platform    //返回运行浏览器的硬件平台

                window.navigator.userAgent  //返回返回浏览器用于HTTP请求的用户代理头的值,内容跟window.navigator.appVersion差不多

         

           window.navigator.screen对象提供用户显示器的大小和可用颜色数量的信息 

                window.screen.width   //返回显示器的宽度,以像素为单位

                 window.screen.height   //返回显示器的高度,以像素为单位

                 window.screen.availWidth   //返回显示器的可用宽度,以像素为单位,一般情况下以window.screen.width相同

                window.screen.availHeight   //返回显示器的可用高度,不包括任务栏

     

    window对象的的方法

              window.open()

             window.closed()

              alert(),confirm(),prompt()

              focus(),blur()

              setInterval(),clearInterval(),setTimeout(),clearTimeout()

              print()

              resizeTo(width,height)  //把窗口调整到指定的大小

              resizeBy(width,height)  //把窗口增加或减小指定的宽或高,两个参数可正可负

             moveTo(x,y)  //把窗口移动到指定的坐标

             moveBy(x,y)  //把窗口向x方向或y方向移动指定的距离,两个参数可正可负

            scrollTo(xpos,ypos)  //把窗口文档滚动到指定地方

             scrollBy(xpos,ypos)  //把窗口文档滚动指定距离

     

    框架

            每个window对象都有一个frames[]数组来引用它包含的框架,注意,如果一个窗口没有包含其他框架了,则该窗口的frames[]数组为空,frames[]数组的使用只适用窗口中存在框架的情况下,如window.frames[0]表示的是该窗口对它里面所包含的第一个框架的引用,window.frames[0].frames[0]表示的是对嵌套框架的引用。

            如果给框架指定了名字(即它的name属性),对那个框架的引用就会被存储到它的父window对象的一个新属性中,这个新属性的名字和框架的名字一样,因此可以用window.框架名来引用一个框架,注意,这里的window和框架只能是父子关系,祖孙关系都不行

           函数是在定义它的作用域中执行,而不是在调用它的作用域中执行,例如,函数f()是在框架A中定义的,如果在框架B中调用它,则该函数的运行环境还是相当于在框架A中,如果函数f()中引用了全局变量,则它会在框架A中查找这些变量,而不是在框架B中。

          不同框架中的变量、函数等可以被不同框架相互调用

    错误处理

            window对象的onerror属性比较特殊,如果给这个属性赋一个函数,那么只要这个窗口中发生了javascript错误,该函数就会被调用,此时系统会传递给该函数三个参数,第一个是描述错误的消息,第二个参数是一个字符串,它存放引发javascript错误的代码所在的文档的URL,第三个参数是文档中发生错误的行代码。

           如果给onerror属性返回true,则即使发生错误也不会出现错误提示框

  • 相关阅读:
    视频上云解决方案EasyCVR支持接入海康SDK吗?
    视频上云网关EasyCVR程序数据库内数据会丢失吗?
    视频上云解决方案EasyCVR打包软件在linux下解压后台无法运行问题排查
    视频上云解决方案EasyCVR发布linux版本
    视频流媒体平台EasyNVR使用Vue.js开发报[Vue warn]错误问题解决方案
    监控现场无固定IP及公有云服务器如何通过手机查看视频直播?
    幼儿园EasyNVR能力层安防监控平台调用视频直播流报404错误解决方案
    海康NVR的RTSP视频流能否在EasyNVR流媒体平台中正常播放?
    视频云端流媒体平台EasyNVR存储的录像为什么呈现每小时一段录像?
    如何查看EasyNTS智能云组网硬件终端内的资源使用情况?
  • 原文地址:https://www.cnblogs.com/2050/p/1769826.html
Copyright © 2020-2023  润新知