我是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/")
}

10-08 02:55