我是JavaScript的初学者,可以拼凑成以下代码。它可以完成工作,但是我想继续学习,我想知道是否有更有效/更优雅的方法来完成任务。
我有一个英文网站翻译成意大利语。转换后的页面具有相同的文件名,并且位于目录“ IT”中。因此,我在每个页面上放置一个链接,以触发一个脚本来添加/ IT /,同时保留其余的当前URL。在意大利语页面上,补充脚本会删除目录以返回到英语页面。
这是代码:
(注意:如果您想知道为什么代码没有在根级别添加/ IT /目录,则我的网站部分位于domain.com/site/。)
function italian(){
var str;
var str = document.URL;
arr = str.split("/");
var URLparts;
var URLparts = arr.length;
var count;
var count = 0;
var newURL;
newURL = "";
while (count < URLparts){
newURL = newURL + arr[count];
count = count + 1;
if (count < URLparts){
newURL = newURL + "/";
}
switch(count){
case 4:
newURL = newURL + "IT/";
break;
}
}
window.location = newURL;
}
我可以做些什么来改善它?我当然愿意参与其中。如果您能指出我要研究的方向,那么我很乐意从这里开始。
谢谢!
最佳答案
更为简洁的版本可以使用正则表达式从网址中插入/删除/ IT /部分,即:
function italian() {
# make domain.com/site/ -> domain.com/site/IT/
window.location = document.URL.replace(/site\//, "site/IT/")
}