首页 > 代码库 > javascript篇:Browser对象

javascript篇:Browser对象

  • Window
    Window对象表示浏览器打开的窗口。如果文档包含框架(frame或ifame标签),浏览器会为HTML文档创建一个Window对象——window,并为每个框架额外创建一个window对象。在客户端js中,window对象是全局的,所有表达式都在当前环境中计算,可以把窗口的属性作为全局变量来使用。

    • Window对象属性
      • closed:只读
        返回窗口是否已经被关闭。当浏览器窗口关闭时,表示该窗口的对象并不会消失,它的closed将会设为true。通常可用于子窗口查询。
         1 <html> 2     <script src="http://www.mamicode.com/assist.js" type="text/javascript"></script> 3     <script type="text/javascript"> 4         myWindow=window.open(‘‘,‘‘,‘width=200,height=100‘) 5         // 6          7  8  9 10         function checkWindowClosed()11         {12             if(myWindow.closed)13             {14                 writeLine("closed");15             }16             else17             {18                 writeLine("not closed");19             }20         }21     </script>22     <body>23         <iframe name="iframe1"></iframe>24         <input type="button" id="my" value="http://www.mamicode.com/Has ‘myWindow‘ been closed?" onclick="checkWindowClosed()">25     </body>26 </html>
      • document:只读
        document属性是一个Document对象,使我们可以从脚本对HTML页面中的所有元素进行访问。
      • frames
        返回窗口中所有命名的框架,该集合是Window对象的数组。
      • history:只读
        history属性是一个History对象,包含用户访问过的URL。
      • innerheight、innerwidth:只读
        生命窗口的文档显示区的高度和宽度,以像素计数。不包括菜单栏,工具条及滚动条等。IE浏览器不支持这些属性,改用document.documentElement或document.body的clientWidth和clientHeight。
      • length
        设置或者返回窗口的框架数量。
      • location
        location属性是一个Location对象,包含当前URL的信息。
      • name
        设置或者返回窗口的名称,该名称是在open()方法创建窗口是指定的或者<frame>的name属性指定。
      • navigator
        navigator属性是一个Navigator对象,包含有关浏览器的信息,可以使用它来进行平台专用的配置。
      • opener
        返回对创建该窗口的Window对象的引用,该属性非常有用,被创建的窗口可以引用创建它的窗口所定义的属性和函数。myWindow.opener.document.write("hello");
      • pageXOffset、pageYOffset
        当前页面相对于窗口显示区左上角的X、Y位置。
      • parent
        返回父窗口,如<iframe>标签所引入的子窗口。
      • screen
        screen属性是一个Screen对象,包含客户端显示屏幕的信息。
      • self、window
        对当前窗口的引用
      • status、defaultStatus
        获取或设置窗口状态栏的文本、默认文本
      • top
        返回最顶层父辈窗口的引用。
      • screenLeft/screenX、screeTop/screenY:只读
        窗口左上角在屏幕上的坐标。
      • self
    • Window对象的方法
      • alert(message)  
        显示带有一条指定消息和一个OK按钮的警告框,message会显示为纯文本。
      • blur()
        把键盘焦点从顶层窗口移开。
      • clearInterval(id)
        取消由setInterval()设置的timeout,参数为setInterval()返回的ID值。
      • clearTimeout(id)
        取消由setTimeout()方法设置的timeout,参数为setTimeout()返回的ID值。
      • close()
        关闭window指定的顶层浏览器窗口。某个窗口可以通过self.close()或者只调用close()来关闭自身。只有通过js代码打开灯额窗口才能由js代码关闭,这样就能阻止恶意的注入脚本终止用户的浏览器。
      • confirm(message)
        显示一个带有指定消息和ok以及取消按钮的对话框。message会显示为纯文本。返回值为true/false。用户点击确认或者取消按钮以把对话框关闭之前,它将阻止用户对浏览器输入。并且会暂停js代码的执行,在用户做出响应前,不会执行吓一跳语句。
      • createPopup()
        创建一个pop-up窗口。
      • focus()
        把键盘焦点给予Window对象
      • moveBy(x,y)
        相对窗口当前的坐标,移动指定的像素。x->右移,y->下移
      • moveTo(x,y)
        把窗口的左上角移动到一个指定的坐标。出于安全考虑,浏览器限制此方法,使它不能把窗口移出屏幕。
      • open([url,][name,][features,][replace])
        打开一个新的浏览器窗口,或者查找一个已经命名的窗口。
        url:可选字符串,声明新窗口中显示的文档的url。
        name:可选字符串。新窗口的名称。可以用作标记<a>和<form>的属性target的值。若指定了一个已经存在的窗口,那么open方法就不创建一个新窗口,而只是返回指定窗口的引用,features将被忽略。
        features:可选字符串,声明窗口的特征。
        replace:可选布尔值,规定装载到新窗口的url是创建一条新的浏览历史,还是替换当前条目。
      • print()
        打印当前窗口的内容,效果等同于单击浏览器的打印按钮。
      • prompt([text][,defaultText])
        text:要在提示框显示的纯文本。
        default:输入框默认输入的文本
        显示可提示用户进行输入的对话框。若用户单击提示框的取消按钮,则返回null。否则返回输入框内容。
      • resizeBy(width[,height])
        根据指定的像素来调整窗口的大小。width和height可以使正、负值。
      • resizeTo(width[,height])
        把窗口大小调整至指定的像素。
      • scrollBy(x,y)
        把内容滚动指定的像素数。x->向右,y->向下。chrome测试无效。
      • scrollTo(xPos,yPos)
        把内容滚动至指定的坐标。xPos->左上角x坐标,yPos->左上角y坐标
      • setInterval(code,millisec[,"lang"])
        按照指定的周期(毫秒)来不停地调用函数或计算表达式。通过将返回值传递个clearInterval来取消。
        code:调用的函数或要执行的代码串。
        millisec:周期执行或者调用code之间的时间间隔,毫秒计算。
      • setTimeout(code,millisec)
        在指定的毫秒数后,调用函数或计算表达式。只执行一次。可以使用clearTimeout(id)来清除。
        code:要调用的函数或要执行的js代码串
        millisec:执行代码前需要等待的毫秒数。
      • blur()和focus()测试没效果。
  • Navigator
    • Navigator简介
      Navigator对象包含有关浏览器的信息,所有的浏览器都支持该对象。该对象的属性描述了正在使用的浏览器,可以使用这些属性进行平台专用的配置。该对象在browser里面是唯一的,可以用Window对象的navigator属性来引用它。
    • Navigator对象属性
      • plugins
        返回文档中所有插件对象的引用的一个数组。
      • appCodeName
        返回浏览器的代码名
      • appMinorVersion
        返回浏览器的次级版本。chrome下为undefined,IE11为0
      • appName
        返回浏览器的名称,只读。chrome和IE11都为Netscape
      • appVersion
        返回浏览器的平台和版本号,只读。
      • browserLanguage
        返回浏览器的语言。chrome:undefined。ie11:zh-CN
      • cookieEnabled
        返回是否启用cookie。适用于chrome和ie11
      • cpuClass
        返回浏览器系统的cpu等级。chrome:undefined。ie11:x86
      • onLine
        返回是否处于脱机模式。适用于chrome和ie11
      • platform
        返回运行浏览器的操作系统平台。适用于chrome和ie11
      • systemLanguage
        返回OS使用的默认语言。chrome:undefined。ie11:适用
      • userAgent
        返回由客户机发送服务器的user-Agent头部的值。适用于chrome和ie11
      • userLanguage
        返回OS的自然语言设置。chrome:undefined。ie11:适用。
    • Navigator对象方法
    • 其他
      chrome关于浏览器以及系统的语言方面都是undefined,ie则给出了对应的信息。
  • Screen
    • Screen对象简介
      Screen对象包含有关客户端显示屏幕的信息。每个Window对象的screen属性都引用一个Screen对象,存放着有关浏览器屏幕的信息,js程序可以根据这些信息来进行一些优化操作。
    • Screen对象属性
      • availHeight
        返回显示屏的高度(除任务栏之外)。
      • acailWidth
        返回显示屏的宽带(除任务栏之外)。
      • bufferDepth
        设置或返回调色板的比特深度。chrome:undefined。ie11:0
      • colorDepth
        返回目标设备或者缓冲器上的调色板的比特深度。
      • deviceXDPI
        返回显示屏幕的每英寸水平点数。chrome:undefined。ie11:一个整数
      • deviceYDPI
        返回显示屏幕的每英寸垂直点数。chrome:undefined。ie11:一个整数
      • fontSmoothhingEnabled
        返回用户是否在显示控制面板中启用了字体平滑。chrome:undefined。ie11:true
      • height
        返回显示屏的高度。
      • logicalXDPI
        返回显示屏每英寸的水平方向的常规点数。chrome:undefined。ie11:一个整数
      • logicalYDPI
        返回显示屏每英寸的垂直方向的常规点数。chrome:undefined。ie11:一个整数
      • pixelDepth
        返回显示屏的颜色分辨率。
      • updateInterval
        设置或返回屏幕的刷新率。chrome和ie11都为undefined。
      • width
        返回显示器屏幕的宽度。
    • Screen对象方法
      无方法。
    • 其他
  • History
    • History对象简介
      History对象包含用户(在浏览器窗口中)访问过的URL。Window对象的history属性就是对一个History对象的引用。出于隐私方面的原因,History对象不再允许脚本访问已经访问过的实际URL,唯一保持使用的功能只有back()、forward()和go()方法。
    • History对象属性
      • Length
        返回浏览器历史列表的URL数量
    • History对象方法
      • back()
        加载历史列表中的前一个URL(如果存在)。效果等价于点击后退按钮或者调用history.go(-1)
      • forward()
        加载历史列表中的下一个URL(如果存在)。效果等价于点击前进按钮或者调用history.go(1)
      • go(num|url)
        加载历史列表中的某个具体页面。在chrome,使用url无效!
    • 其他
  • Location
    • Location对象简介
      Location对象包含有关当前URL的信息。Window对象的location属性就是对Location对象的引用。它的href属性存放的是文档完整的url,其他属性则分别秒射了URL的各个部分。当一个Location对象被转换成字符串,返回的是href属性值。如果把一个含有URL的字符串富裕Location对象或者它的href属性,浏览器就会把新的URL所指的文档加载并显示出来。详细功能参见其属性和方法。
    • Location对象属性
      • hash
        设置或返回从#开始的URL。
      • host
        设置或返回主机名和当前URL的端口号
      • hostname
        设置或返回当前URL的主机名
      • href
        设置或返回完整的URL。
      • pathname
        设置或返回当前URL的路径部分
      • port
        设置或者返回当前URL的端口号
      • protocol
        设置或者返回当前URL的协议
      • search
        设置或者返回从?开始的URL(查询部分)
    • Location对象方法
      • assign(url)
        加载一个新的文档。
      • reload(flag)
        如果该方法没有规定参数,或者参数是false,它会用http头从if-modified-since来检测服务器上的文档是否已经改变。如果已经改变,则会再次下载该文档,否则从缓冲中装载文档,,效果与单机浏览器刷新按钮完全一样。若flag为true,总会绕过缓存,从服务器上重新下载该文档,与按住shift和刷新按钮效果完全一样。

      • replace(url)
        该方法不会在history中生成一个新的记录,当使用该方法的时候,新的url将覆盖history中的当前记录。
    • 其他
      • url="www.hao123.com"和url="http://www.hao123.com"是不一样的,前者是file protocol,后者是http protocol,后者才能访问该网站。location.href=http://www.mamicode.com/url、location.assign(url)等的测试可以得知。