2013-06-20 71 views
2

我有一个拥有两种语言内容的网站,它们都具有相同的文件名,但存储在不同的文件夹中:/ EN /和/ ZH /。用文本链接更改URL的文件夹名称?

我想要一个文本链接,它允许点击并更改URL的文件夹名称。

喜欢通过点击文字链接 “ZH”,它将改变网址为:

从=> “http://example.com/GroupA/EN/index.asp

到=> /ZH/index.asp”

我有四处搜寻,发现脚本如下:

脚本:

$(function() { 
    $(".flag").click(function(e) { 
     e.preventDefault(); 
     var to = $(this).attr("href").substring(1); //removes the hash value # (#en will become 'en') 
     var from = jQuery.url.segment(-2); 
     var url = from.replace('/' + from + '/', '/' + to + '/'); 
     document.location = url; 
    }); 
}); 

正文:

<a id="flags" href="#en" class="flag">English</a> 

然而,当我试着上面的脚本,它只会增加“#en”我的网址的结尾,像 http://example.com/GroupA/EN/index.asp#en

+0

你肯定jQuery库包含在你的网页?该脚本未运行,并且链接的行为与正常情况下单击一样,但未应用脚本。检查浏览器的控制台是否有错误,并告诉我们是否有任何错误。如果您不知道如何查看控制台,请告诉我您使用的浏览器。 –

+0

我正在使用IE8,谢谢。 – Galia

+0

使用IE你需要开发者的工具包,你可以从MS获得免费的工具包。按下F12,看看是否有新的窗口打开 - 控制台在那里。能够看到JS产生的任何错误总是很好的。 –

回答

1
$(function() { 
    $(".flag").click(function(e) { 
     e.preventDefault(); 
     var to = $(this).attr("href").substring(1); //removes the hash value # (#en will become 'en') 
     var url = window.location.hostname + "/GroupA/"+to.toUpperCase()+"/index.asp" 
     window.location.assign(url); 
    }); 
}); 
+0

我也使用它来调用脚本吗? English;它是一样的,只在当前URL的末尾添加#en。 – Galia