javascript - Chrome 上的 onLoad 给出 Uncaught ReferenceError

标签 javascript html

我第一次编写一些 javascript,并尝试在加载时将其调用到正文。它似乎在 Chrome 的隐身模式下工作没有任何问题,但在正常模式下它会给出 ReferenceError。

它在 Safari(正常和隐身模式)、Internet Explorer(正常和隐身模式)和 Chrome(仅隐身模式)中完美运行。在 Chrome 正常模式下,它会给出错误。

// javascript.js
function onLoad()
{
    var language_get = Cookies.get('language');

    if (language_get == null) {

        setLang();

        } else {

        var language_code = Cookies.get('language');

        document.getElementById("out").innerHTML = language[language_code];
    }

    var card_load = Cookies.get('card');

    document.getElementById("card_out").innerHTML = card_load;
}

// index.html
<head>
<script type="text/javascript" src="javascript.js"></script>
</head>
<body onload="onLoad();">

Chrome 中的错误控制台给出:

Uncaught ReferenceError: onLoad bs00-01.html:14 is not defined
    at onload (bs00-01.html:14)

最佳答案

第一个修复:

Javascript 区分大小写。意思是<body onload="OnLoad();">将寻找一个方法OnLoad() ,而不是onLoad() .

Uncaught ReferenceError 可能指OnLoad 的引用找不到。

第二个修复:

下面我准确地放置了您的代码,并且函数调用有效(但说Cookies未定义,因为OP中未提供)。

这让我相信您没有正确链接 javascript 文件。

function onLoad()
{
    var language_get = Cookies.get('language');

    if (language_get == null) {

        setLang();

        } else {

        var language_code = Cookies.get('language');

        document.getElementById("out").innerHTML = language[language_code];
    }

    var card_load = Cookies.get('card');

    document.getElementById("card_out").innerHTML = card_load;
}
<body onload="onLoad();">

关于javascript - Chrome 上的 onLoad 给出 Uncaught ReferenceError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55431639/

相关文章:

HTML Object标签去除滚动条溢出

html - html 表格中不需要的垂直填充

java - response.setheader ("Refresh", "0") 不工作

javascript - 防止 Node.js 中的 SQL 注入(inject)

javascript - MongoJS Node findOne 错误地没有返回结果

javascript - 是否可以从 Redux 存储中检索特定评论评论的状态

javascript - 使用拼接从数组中删除空值

javascript - 如果 React 中不存在 JSON 键,如何隐藏 HTML 元素

html - 使用纯html和css制作outlook不一致的邮件轮播

Jquery 移动面板按钮最多只能工作 300px