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