首页 / 问答 / JavaScript(js)中如何实现从一个页面重定向跳转另一个指定的页面呢?

JavaScript(js)中如何实现从一个页面重定向跳转另一个指定的页面呢?

javascript js 重定向 182 次浏览
0

前端开发中,js(JavaScript)或者jQuery如何实现用户从一个页面重定向跳转到另一个指定页面呢?

回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    js(JavaScript)实现从一个页面重定向跳转到另一个页面的方式有多种,比如:

    1.基于windows.location对象的方式

    // window.location
    // 相当于一个HTTP重定向请求
    window.location.replace('http://www.example.com')
    window.location.assign('http://www.example.com')
    // 相当于点击页面的一个链接
    window.location.href = 'http://www.example.com'
    document.location.href = '/path'
    

    2.基于window.history的方式

    // window.history
    window.history.back()
    window.history.go(-1)
    

    3.基于self.location或top.location属性方式

    // Probably no bueno
    self.location = 'http://www.example.com';
    top.location = 'http://www.example.com';
    

    4.基于jQuery的方式

    // jQuery
    $(location).attr('href','http://www.example.com')
    $(window).attr('location','http://www.example.com')
    $(location).prop('href', 'http://www.example.com')
    

    5.仅旧版IE支持的方式

    // window.navigate;
    // 慎用:仅IE支持
    window.navigate('top.aspx')
    
    Rector的个人主页

    Rector

    10-07 回答

    • 0

      或者,为了解决跨浏览的兼容性问题,还可以写一个通用的页面重定向跳转的函数,如下:

      function redirect (url) {
          var ua        = navigator.userAgent.toLowerCase(),
              isIE      = ua.indexOf('msie') !== -1,
              version   = parseInt(ua.substr(4, 2), 10);
      
          // 兼容IE8及以下浏览器
          if (isIE && version < 9) {
              var link = document.createElement('a');
              link.href = url;
              document.body.appendChild(link);
              link.click();
          }
          else {
              window.location.href = url;
          }
      }
      

      调用示例:

      redirect('anotherpage.aspx');
      
      Rector的个人主页

      Rector

      10-07 回答

      我来回答