Jquery页面跳转 JavaScript 页面跳转 跳转路径错误问题

转载子:极客导航 - Jquery页面跳转 JavaScript 页面跳转 跳转路径错误问题

1.使用Jquery实现跳转

$(location).attr('href',"http://www.google.com");
$jq(window).attr("location","http://www.google.com");
$(location).prop('href',"http://www.google.com");

2.使用JavaScript实现跳转

// 相当于 HTTP redirect
window.location.replace("http://stackoverflow.com");

// 相当于 clicking on a link
window.location.href = "http://stackoverflow.com";

JavaScript其它的可实现页面跳转的方式

window.history.back(-1);                                     //  back
window.navigate("top.jsp");                                  // old-IE-only
self.location="top.htm";
top.location="error.jsp";
window.location = window.location.host;
window.location.assign("http://www.mozilla.org");
document.location.href = '/path';
window.history.go(-1);

3.页面跳转路径错误问题

ie8以下的页面跳转需要使用绝对路径,使用相对路径的时候ie会自动网跳转的Url上面加上当前页面的路径,这会导致跳转错误。 下面是解决办法:

function Redirect (url) {
    var ua        = navigator.userAgent.toLowerCase(),
        isIE      = ua.indexOf('msie') !== -1,
        version   = parseInt(ua.substr(4, 2), 10);

    // Internet Explorer 8 and lower
    if (isIE && version < 9) {
        var link = document.createElement('a');
        link.href = url;
        document.body.appendChild(link);
        link.click();
    }

    // All other browsers
    else { window.location.href = url; }
}

相关推荐