Javascript从#anchor重定向到单独的页面

Tom*_*rle 6 javascript anchor redirect

我有#anchors指向单个网页的一组链接,我想顺利地转移到一个模型,每个链接都有一个单独的网页.我希望旧链接继续使用重定向.

旧链接样式:

/all_products#A
/all_products#B
/all_products#C
Run Code Online (Sandbox Code Playgroud)

新链接样式:

/products/A
/products/B
/products/C
Run Code Online (Sandbox Code Playgroud)

我知道服务器在请求中没有收到#anchor名称,但Javascript可能会.

是否可以使用Javascript自动从/ ​​all_products#A重定向到/ products/A?

JQuery很好,无论如何它都在网站上使用.

log*_*gan 11

我添加了这个新的答案,包括一些最佳实践,用于从URL中提取哈希进行重定向.

// Closure-wrapped for security.
(function () {
    var anchorMap = {
        "A": "/products/A",
        "B": "/products/B",
        "C": "/products/C"
    }
    /*
    * Best practice for extracting hashes:
    * https://stackoverflow.com/a/10076097/151365
    */
    var hash = window.location.hash.substring(1);
    if (hash) {
        /*
        * Best practice for javascript redirects: 
        * https://stackoverflow.com/a/506004/151365
        */
        window.location.replace(anchorMap[hash]);
    }
})();
Run Code Online (Sandbox Code Playgroud)


Gre*_*ory 2

我希望这能有所帮助:)

var urlSplit = document.URL.split("#");
if (urlSplit[1]) {
    location.href = "http://www.example.org" + "/" + urlSplit[1];
}
else {
    location.href = "http://www.example.org";
}
Run Code Online (Sandbox Code Playgroud)