这是一个非常初学的问题,但我不知道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
我尝试了几种没有运气的方法。
感谢任何帮助。
最高
答案 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;