使用Javascript操作网址

时间:2015-11-23 07:56:38

标签: javascript

我想创建一个小菜单来更改静态网站的语言。有两种语言,德语,它是放置在我项目的基本文件夹和英语中的主要语言。我将英文版本放入子文件夹/ en。现在我想能够在没有将绝对URL硬编码到每个htlm文件中的情况下切换语言,这就是为什么我写了一些JS。但我认为这只是一个肮脏的解决方案:

例如,两个索引文件的URL就像这样:

德语:http://www.somedomain.de/project/index.html
英语:http://www.somedomain.de/project/en/index.html

用于选择语言的html,简化:

<h3>Please select your language</h3>
    <button class="deutsch">Deutsch</button>
    <button class="english">English</button>

以下是我在点击时操作网址的方法:

var path = window.location.href;
var filename = path.replace(/^.*[\\\/]/, '');
var base = path.split("ct")[0]; //"ct" is simply taken from the end of the path "/project/"


$('.english').click(function(){
    window.location.href = base + 'ct/en/' + filename; // For English
});

$('.deutsch').click(function(){
    window.location.href = base + 'ct/' + filename; // For German
});

丑陋的部分属于&#34; var base&#34;。我需要复制/filename.html之前的url而我除了分割整个路径之外别无其他想法,而是在有或没有语言目录的情况下再次将所有内容放在一起。它工作正常但对我来说看起来真的很麻烦。

有人可以建议一种更好的方法来实现相同的结果吗?

0 个答案:

没有答案