javascript substr window.location.href

时间:2011-06-30 13:49:19

标签: javascript

这是一个非常初学的问题,但我不知道javascript,我只想实现一个我发现谷歌搜索的snipplet。

原始代码是:


var langcodes=["it", "es"];
var langCode = navigator.language || navigator.systemLanguage;
var lang = langCode.toLowerCase(); 
lang = lang.substr(0,2); 
var dest = window.location.href; 
for (i=langcodes.length-1;i >= 0; i--){
    if (lang==langcodes[i]){
        dest = dest.substr(0,dest.lastIndexOf('.')) + '-' + lang.substr(0,2) + dest.substr(dest.lastIndexOf('.'));
        window.location.replace ?window.location.replace(dest) :window.location=dest;
    }
}

如果我的浏览器语言为it_IT,则将替换

    http://www.mysite.com/test.html 

    http://www.mysite.com/test-it.html 

我想新的网址是:

    http://www.mysite.com/it/test.html 

我尝试了几种没有运气的方法。

感谢任何帮助。

最高

3 个答案:

答案 0 :(得分:1)

试试这个......

 dest = dest.substr(0,dest.lastIndexOf('/')) + '/' + lang.substr(0,2) + dest.substr(dest.lastIndexOf('/'));

答案 1 :(得分:0)

你可以这样做:

if (lang==langcodes[i]){
    dest = dest.substr(0,dest.lastIndexOf('/') +1) + lang.substr(0,2) + dest.substr(dest.lastIndexOf('/'));
    window.location.replace ?window.location.replace(dest) :window.location=dest;
}

好的,在www.google.it上进行了测试,并且已经开始调查(输出www.google.it/it /)

答案 2 :(得分:0)

试试这个:

var langcodes=["it", "es"];
var langCode = navigator.language || navigator.systemLanguage;
var lang = langCode.toLowerCase(); 
lang = lang.substr(0,2); 
var dest = window.location.href;

dest = dest.substr(0,dest.lastIndexOf('.')) + '-' + lang + dest.substr(dest.lastIndexOf('.'));
window.location = dest;