替换URL的部分内容

时间:2013-07-16 03:17:47

标签: javascript jquery

我的网站上有以下链接:

http://example.com/example/index.html#page=page-1

我想检测网址的#page = page-1部分,并在点击链接时将其添加到http://example.com/example/indexcn.html(以使其成为http://example.com/example/indexcn.html#page=page-1)。

之所以这样,是因为我想拥有一个双语网站,并在标签之间切换语言。

我查看了onclick函数和window.location.pathname函数:

$("a.language").click(function(){
function reloadPageWithHash() {
var initialPage = window.location.pathname;
window.location.replace('http://example.com/#' + initialPage);
}
});

但是我不知道从哪里开始(注意window.location.pathname检测到'example / index.html#page = page-1'而不仅仅是标签)。

希望有人可以帮助我。 (:

谢谢!

4 个答案:

答案 0 :(得分:0)

您可以使用window.location.hash来获取哈希部分。

例如:

$("a.language").click(function(){
    window.location.href = 'http://example.com/' + window.location.hash;
    return false; // prevent default action if any
});

注意:我删除了回调函数中的冗余函数。

答案 1 :(得分:0)

$(document).ready(function(){
$("a.lang").click(function(event){
event.preventDefault();
window.location.href = 'http://example.com' + window.location.hash;
});
});

玩转了,这对我有用。 (:

答案 2 :(得分:0)

您可以使用onhashchange收听对网址哈希的更改:

function locationHashChanged() {
    if (location.hash === "#page-1") {
        doSomething();
    }
}

window.onhashchange = locationHashChanged;

或者使用jQuery:

$(window).hashchange(myCallback);

答案 3 :(得分:0)

你可以尝试这个,这可能会有所帮助:

$(document).ready(function () {
    var thisUrl = window.location.href;
    var strOptions = thisUrl.split('#');
    var strQuerystring = strOptions[1];

    var strURL = 'http://example.com/example/indexcn.html' + strQueryString;
}