1-4 window对象

window

BOM = Browser Object Model,浏览器对象模型

所有的浏览器都支持window对象,所有js全局变量是window的属性,所有js全局函数是window的方法,
甚至 HTML DOM 的 document 也是 window 对象的属性之一
window.document.getElementById("header");等同于document.getElementById("header")

获取所有浏览器窗口尺寸(不包括工具栏和滚动条)的通用方法:

        其中第一种是现代通用的,后面两种是照顾IE5,6,7,8的:
            var w=window.innerWidth
            || document.documentElement.clientWidth
            || document.body.clientWidth;

            var h=window.innerHeight
            || document.documentElement.clientHeight
            || document.body.clientHeight;
    
以上方法不要直接写在拼字符串中,因为某些方法的不识别会导致js停止解析而拼不上后面的字符串!

window.screen对象

window.screen对象可以获取用户屏幕的相关信息,跟浏览器窗口没关系

screen.availWidth可用的屏幕宽度

screen.availHeight可用的屏幕高度

发现screen.availHeight获取的屏幕高度并不是实际上的1080,而是1040,让任务栏隐藏了也还这样,不知什么原因!

window.location对象

window.location对象可获取用户当前页面和服务器的相关信息

location.hostname web主机的域名

location.pathname 页面路径和文件名

location.port 主机的端口号

location.protocol 所使用的web协议(http:// 或 https://)

location.href 页面的url路径

location.assign(url) 页面加载一个新的文档(如果写在iframe内部的话,就在此iframe中加载)

以上测试在服务器上打开和直接打开html文件所得到的结果会有不同!

window.history 浏览器的历史

为了保护用户隐私,对js访问该对象的方法做出了限制。

history.back() 等同于后退按钮

history.forward() 等同于前进按钮

window.navigate 用户浏览器的信息

来自 navigator 对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:
1,navigator 数据可被浏览器使用者更改,
2,浏览器无法报告晚于浏览器发布的新操作系统

常用的navigate属性如下:

        str += "window.navigator-----------------------------";
        str += "浏览器名称为:"+navigator.appName+"";
        str += "浏览器版本为:"+navigator.appVersion+"";
        str += "浏览器的代码名称为:"+navigator.appCodeName+"";
        str += "用户代理标识为:"+navigator.userAgent+"";
        str += "可以使用的mine类型信息为:"+navigator.mineTypes+"";
        str += "可以使用的插件信息为:"+navigator.plugins+"";
        str += "语言设定为:"+navigator.languages+"";
        str += "window对象的属性--------------------------------";
        str += "window.document:"+window.document+"";
        str += "window.location:"+window.location+"";
        str += "window.history:"+window.history+"";
        str += "window.closed:"+window.closed+"";
        str += "window.opener:"+window.opener+"";
        str += "window.self:"+window.self+"";
        str += "window.top:"+window.top+"";
        str += "window.parent:"+window.parent+"";
        str += "window.frames:"+window.frames+"";
        str += "window.length:"+window.length+"";
        str += "window.offscreenBuffering:"+window.offscreenBuffering+"";
            
所有浏览器的navigator.appCodeName都是Mozilla

JS的消息框

confirm("text")用于弹出选择框

prompt("提示语:", "默认值")用于弹出输入框