法语和德语,两种语言,主页上用的是自动检测语言,代码如下,但不知为何是死循环,路径都是根目录.if (navigator.appName == 'Netscape')
var language = navigator.language;
else
var language = navigator.browserLanguage;
if (language.indexOf('de') > -1) document.location.href = 'german.htm';
else if (language.indexOf('fr') > -1) document.location.href = 'french.htm';
else document.location.href = 'german.htm'; 另外,在其它的页面上,每一页都有一个小标记为用户跳转语言用,如, FR, DE 如何能让这两个标记点上去后自动跳转到不同语言的相同内容的页面上,如按一下,FR,会从当前页
www.1234567.com/fr/abc.html跳到www.1234567.com/de/abc.html
再如
www.1234567.com/de/news.html跳到www.1234567.com/fr/news.html最好,能够写入JS文件,不在页面上看到代码.谢谢了.
var language = navigator.language;
else
var language = navigator.browserLanguage;
if (language.indexOf('de') > -1) document.location.href = 'german.htm';
else if (language.indexOf('fr') > -1) document.location.href = 'french.htm';
else document.location.href = 'german.htm'; 另外,在其它的页面上,每一页都有一个小标记为用户跳转语言用,如, FR, DE 如何能让这两个标记点上去后自动跳转到不同语言的相同内容的页面上,如按一下,FR,会从当前页
www.1234567.com/fr/abc.html跳到www.1234567.com/de/abc.html
再如
www.1234567.com/de/news.html跳到www.1234567.com/fr/news.html最好,能够写入JS文件,不在页面上看到代码.谢谢了.
if (language.indexOf('fr') > -1) document.location.href = 'french.htm';
else document.location.href = 'german.htm'; js是前台运行的吧,你怕看到最好是加密url
window.navigate("www.1234567.com/de/abc.html");
改为
window.location.href= 'german.htm';试试看,不敢肯定
if (navigator.appName == 'Netscape') language = navigator.language;
else language = navigator.browserLanguage;
if (language.indexOf('fr') > -1) if(location.href.indexOf("french.htm")==-1) location.href = 'french.htm';
else if(location.href.indexOf("german.htm")==-1) location.href = 'german.htm';
跳转:function jp(){
val v = location.href;
if(v.indexOf("/de/")==-1) v = v.replace(/\/fr\//i,"/de/");
else v = v.replace(/\/de\//i,"/fr/");
location.href = v;
}
<a href="javascript:jp();void(0);">xx</a>
function goTo(lang){
var href = window.location.href;
if (lang) {
href = href.split('/');
href[3] = lang;
window.location.href = href.join('/');
}
}
<script>
<a href="#" onclick="goTo('fr');">Fr</a>
<a href="#" onclick="goTo('de');">De</a>
function jp(){
val v = location.href;
if(v.indexOf("/de/")==-1) v = v.replace(/\/fr\//i,"/de/");
else v = v.replace(/\/de\//i,"/fr/");
location.href = v;
}
<a href="javascript:jp();void(0);">xx</a>
但不知为何是死循环
如果当前页为法语,
那么document.location.href = 'french.htm';
则是将当前页的地址重写为当前页的地址,--循环了!
建议添加一个判断条件:
if(lngSelect==lngBrowser){lngSet(lngSelect);}else{return;}
function lngSet(lng){/*....*/}
http://www.momachina.ch/tennis/语言切换就在那两个小国旗的键上
function goTo(lang){
var href = window.location.href;
if (lang) {
href = href.split('/');
href[3] = lang;
window.location.href = href.join('/');
}
}
<script>
<a href="#" onclick="goTo('fr');">Fr</a>
<a href="#" onclick="goTo('de');">De</a>顶楼上!
http://www.momachina.ch/tennis/fr/index.html
http://www.momachina.ch/tennis/de/index.html
F:\csdn\mondi\de.html
F:\csdn\mondi\fr.html
*/function lang(id)
{
var aLang=["de","fr"];//语言预设数组
var rLang=new RegExp("/(de|fr)","i");//语言判别正则
var url=window.location.href.toLowerCase();
var uLang=url.match(rLang)[1];//地址栏语言
var eLang=aLang[id].toLowerCase();//用户选择(事件)语言
if(uLang!=eLang)
{ //如果地址栏语言与用户选择语言不同,则切换网址
window.location.href=url.replace(rLang,"/"+eLang);
}
}</script>
<div id="langue">
<a id="DE" href="javascript:lang(0);" title="Deutch">de</a>
<a id="FR" href="javascript:lang(1);" title="Fran?ais">fr</a>
</div>