- 检测用户浏览器信息的时候 最好不要用userAgent来检测,,而用功能检测法
//比如检测是否是IE
//不推荐:
if(navigator.userAgent.indexOf('MSIE') !== -1){
// is IE
}else{
//notIE
}
推荐
if(typeof window.addEventListener =='function'){
}else{
}
- 将页面导航到新页面的方法(不完整)必须要加http:// 不然会出现问题
window.location.href = 'www.hao123.com'
location = 'http://www.hao123.com' //
location.assign('http://www.hao123.com') // 不加http头效果同第一个
location.replace('www.hao123.com') //这个的副作用是会在浏览器里的历史记录里会显示此次操作很奇葩
//不加http头,使用replace很奇葩的地方在于第一遍会调到图1视图,再输入一遍之后就会报错。 为什么
- 页面刷新的办法:
1.location.reload()
2. //地址再次指向自己 location.href= location.href;
3. //原理类似于上条, location = location
- history
-
浏览器的隐私保护,是无法原生获取用户的url地址。
- histroy.back() history.forword()
- history.go() 来实现页面跳转, 比如传入-1 就相当于back()
-
history.state
history.pushState({},'',url) 可以改变页面的url而不刷新页面,会在浏览器历史记录里添加一条记录,history.state可以获取传入的json参数。 用了这个属性之后 也可以用back() forWord()方法,当history改变的时候 popstate事件会被触发.
replaceState用法相同,不过不会添加历史记录
- window.screen 提供的是浏览器以外的环境信息
- window.open(url,name ,param)
//示例
window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
- window.moveTo(x,y) window.resizeTo(x,y)
- document.referrer 属性可返回载入当前文档的文档的 URL。