window和document的区别
document实际上是window.document的缩写,MDN原文:
The document
property of a window
points to the DOM document loaded in that window.
一个window的document属性指向这个window载入的DOM文档。
document.defaultView===window ==>true
window.navigator.userAgent
可以通过这个属性获得操作系统,浏览器版本信息
IE10: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C; Media Center PC 6.0; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)
FF:Mozilla/5.0 (Windows NT 6.2; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
通过检测userAgent的值来判断浏览器种类是不可靠的,也是不推荐的.因为userAgent的值是可以修改的.比如:
- Firefox中,about:config页面内"general.useragent.override"项的值可以覆盖默认的userAgent的值. 一些扩展程序也能提供很方便的修改方法.
- Opera 6+ 中允许用户通过菜单选择不同的userAgent.
- Microsoft Internet Explorer可以使用注册表来配置userAgent.
- Safari和iCab也允许用户修改user agent字符串的值,来伪装自己成为 Internet Explorer 或者 Netscape.
这得有多蛋疼改这个。。。
window.external
IE专属,这个属性可以做一些浏览器动作,比如将网站加入收藏夹等
详情可参见:http://goo.gl/NAuDo
但是我在IE10测试未成功,原因可能是浏览器设置的问题,某些权限未打开
FF自用一套window.sidebar来实现,参见https://developer.mozilla.org/en/DOM/window.sidebar,测试成功
window.scroll 滚动条相关
window.pageXOffset == window.scrollX; 均是滚动条位置
scroll,scrollTo:基本相同,传入x,y参数,滚动条滚动到相应位置
scrollBy:按照传入x,y参数按相对位置滚动,可以实现自动滚动功能
FF的scrollBylines(num),scrollByPages(num)可以按行或页进行滚动