美文网首页
7.浏览器环境

7.浏览器环境

作者: 招展君 | 来源:发表于2016-11-27 20:56 被阅读8次
    1. 检测用户浏览器信息的时候 最好不要用userAgent来检测,,而用功能检测法
    //比如检测是否是IE
    //不推荐:
    if(navigator.userAgent.indexOf('MSIE') !== -1){
        // is IE
    }else{
        //notIE
    }
    推荐
    if(typeof window.addEventListener =='function'){
    }else{
    }
    
    1. 将页面导航到新页面的方法(不完整)必须要加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视图,再输入一遍之后就会报错。 为什么
    
    Paste_Image.png
    Paste_Image.png
    Paste_Image.png
    1. 页面刷新的办法:
      1.location.reload()
       2. //地址再次指向自己 location.href= location.href;
      3. //原理类似于上条,  location = location
    
    1. history
    2. 浏览器的隐私保护,是无法原生获取用户的url地址。


      Paste_Image.png
    3. histroy.back() history.forword()
    4. history.go() 来实现页面跳转, 比如传入-1 就相当于back()
    5. history.state
      history.pushState({},'',url) 可以改变页面的url而不刷新页面,会在浏览器历史记录里添加一条记录,history.state可以获取传入的json参数。 用了这个属性之后 也可以用back() forWord()方法,当history改变的时候 popstate事件会被触发.
      replaceState用法相同,不过不会添加历史记录


      Paste_Image.png
      Paste_Image.png
    6. window.screen 提供的是浏览器以外的环境信息
    7. 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') 
    
    Paste_Image.png
    Paste_Image.png
    1. window.moveTo(x,y) window.resizeTo(x,y)
    2. document.referrer 属性可返回载入当前文档的文档的 URL。

    相关文章

      网友评论

          本文标题:7.浏览器环境

          本文链接:https://www.haomeiwen.com/subject/uzenpttx.html