BOM

window

window 是浏览的一个实例,在浏览器中window对象有双重角色,即是通过javascript访问浏览器窗口的接口,也是ECMAScript中规定的Global对象
所有全局变量和全局函数其实相当于window对象的属性和方法
//声明一个全局的变量
window.username="marry";//等价于var username="marry";
//声明一个全局方法(全局方法在脚本的任何一个地方都可以调用)
window.sayName=function(){}

window对象的方法
window.alert("content") 显示带有一段消息和一个确认按钮的警告框
window.confirm("message") 显示一个带有指定消息和OK及取消按钮的对话框 返回值(布尔值)文本不能用<br>换行应使用\n
window.prompt("text","defaultText") 返回值:用户单击取消按钮,返回null, 确认按钮,则返回当前输入的文本
window.open(pageURL, name, parameters) 打开一个新的浏览器窗口或使一个已命名并打开的窗口获得焦点(或查找一个已命名的窗口)
window.close() 方法用于关闭浏览器窗口,也可以关闭其他窗口参考//(https://www.runoob.com/jsref/met-win-close.html)


window.open 更多参考
<body>
    <a href="https:www.baidu.com" target="newopen">在newopen中打开这个链接</a>
    <br>
    <button id="btn">打开新窗开</button>
    <script>
        // width宽度,height高度,left左距离,top上距离,toolbar 工具栏=no,menubar 菜单栏=no,scrollbars 滚动条=no,location 地址=no,status 状态栏=no
        window.onload = function(){
            btn.addEventListener('click',function(){                
                window.open('newopen.html','newopen',"width=400,height=400,status=1,left="+(window.screen.width/2-200)+",top="+(window.screen.height/2-200));
            })  
        }
    </script>
</body>

location

location即是window也是document的属性 window.location==document.location
location.host 返回主机地址
location.pathname 返回URL中的目录和文件名
location.port 返回URL中指定的端口号,如果没有放回空字符串
location.protocol 返回页面使用的协议 (http或者https)
location.search 返回URL的查询字符串,这个字符串以问号开头
location.href 返回完整的URL地址
location.hash 设置或返回从井号 (#) 开始的 URL(锚)

location的方法

location.href =  window.location =  documen.location.href  在历史记录中生成新纪录
location.replace()
重新定向URL,不会在历史记录中生成新纪录,即不能回退,没有历史记录。loaction.href='xxx'会有历史记录
location.reload()
重新加载当前显示的页面。
location.reload()有可能从缓存中加载
location.reload(true)从服务器重新加载。

history

history.back()  后退一步 等同于 history.go(-1)
history.forward() 前进一步 等同于 history.go(1)
history.go() 正数向前 负数后退

screen

screen.availWidth 返回屏幕显示的可用宽度(指除了任务栏之外的内容)
screen.availHeight 返回屏幕显示的可用高度(指除了任务栏之外的内容)
获取窗口文档显示区的宽高可以使用window.innerWidth和window.innerHeight

navigator 代表的当前浏览器的信息,通过该对象可以来识别不同的浏览器

navigator 代表的当前浏览器的信息,通过该对象可以来识别不同的浏览器
navigator.userAgent 一般我们只会使用userAgent来判断浏览器的信息
/*
* 火狐的userAgent
*   Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0
* Chrome的userAgent
*  Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36
* IE8
*   Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
* IE9
*   Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
* IE10
*   Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
* IE11
*   Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko
*/  
/*
* 在IE11中已经将微软和IE相关的标识都已经去除了,所以我们基本已经不能通过UserAgent来识别一个浏览器是否是IE了
* 如果通过UserAgent不能判断,还可以通过一些浏览器中特有的对象,来判断浏览器的信息
* 比如:ActiveXObject
*/
var ua = navigator.userAgent;
if(/firefox/i.test(ua)){
    alert("你是火狐!!!");
}else if(/chrome/i.test(ua)){
    alert("你是Chrome");
}else if(/msie/i.test(ua)){
    alert("你是IE浏览器~~~");
}else if("ActiveXObject" in window){
    alert("你是IE11,枪毙了你~~~");
}
            

document

event

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容

  •   ECMAScript 是 JavaScript 的核心,但如果要在 Web 中使用 JavaScript,那么...
    霜天晓阅读 869评论 0 0
  • HTML BOM(Javascript window) 浏览器对象模型 (BOM) 使 JavaScript 有能...
    Camilar小汪汪阅读 1,519评论 0 1
  • 什么是BOM BOM:Browser Object Model 是浏览器对象模型,浏览器对象模型提供了独立与内容的...
    LaBaby_阅读 223评论 0 0
  • 什么是BOM BOM:Browser Object Model 是浏览器对象模型,浏览器对象模型提供了独立与内容的...
    源大侠阅读 619评论 0 0
  • 两个多月前,还在1.0班践行时,我通读了《搞定1》和《搞定3》,按自己的理解粗略的统合整理了个理念框架,也分享在了...
    佳蓓的小书桌阅读 330评论 0 1