gpt4 book ai didi

Javascript window.onload 函数未在新链接文件上触发

转载 作者:行者123 更新时间:2023-11-28 10:48:41 29 4
gpt4 key购买 nike

我有一个双语言网站,我想切换语言链接中的 href。当访问者第一次访问该网站时,它会加载“index.php”文件。在此文件的 HEAD 部分中,它调用一个 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”文件有一个带有空白 href (#) 的“a”链接元素,其 id 为“lang”,它是指向英文 php 文件的链接。当我单击该链接时,它会按照 js 代码的指示加载 IndexEn.php 文件。

indexEn.php 还在 HEAD 部分调用相同的 javascript,并具有具有相同 id 的相同“a”链接,但 onload 函数不会运行,因此它不会设置正确的 href。我已经使用 onload 函数中的警报对此进行了测试,该警报在加载 indexEn.php 时不会显示。我认为每次调用文件时 onload 函数都会触发,还是我误解了?

最佳答案

听起来您确实只需要在文档准备好时执行此操作。

试试这个 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");
}
});

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

    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";
}

关于Javascript window.onload 函数未在新链接文件上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37811499/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com