JavaScript Window.onload功能未在新的链接文件上启动



我有一个双语言网站,我想在语言链接中切换HREF。当访问者首次访问该网站时,它会加载" index.php"文件。在此文件的头部部分中,它调用了一个具有以下代码的JavaScript文件:

window.onload = function() {
  var eng = document.getElementById("lang");
  var fn = location.pathname.substring(1)
  if (fn.match("En.php")) {
      eng.href = "index.php";
  } else {
      eng.href = "indexEn.php";
  }
}

'index.php'文件具有一个" a"链接元素,带有空白的href(#),其ID为'lang',这是指向英语php文件的链接。当我单击该链接时,它会像JS代码所指示一样加载indexen.php文件。

indexen.php还可以在头部部分中呼叫相同的JavaScript,并且具有相同的" A"链接具有相同的ID,但是Onload函数不运行,因此它没有设置正确的HREF。我已经用Onload功能中的警报对此进行了测试,该警报在indexen.php加载时未显示。我以为每次打电话给文件或误解了撞击功能?

听起来您真的只需要在文档准备就绪时就会发生这种情况。

尝试这个jQuery。

$(document).ready(function(){ 
    var eng = $("#lang");
    var fn = document.location.pathname.substring(1);
    if (fn.match("En.php")) { 
        eng.attr('href', "index.php"); 
    } else { 
        eng.attr('href', "indexEn.php");
    }
});

非杰克代码。放在页面底部,以便您可以使用文档选择器。

    var eng = document.getElementById("lang");
    var fn = document.location.pathname.substring(1);
    if (fn.match("En.php")) { 
        eng.href = "index.php"; 
    } else { 
        eng.href = "indexEn.php";
    }

最新更新