【问题标题】:ReferenceError: xxx is not definedReferenceError: xxx 未定义
【发布时间】:2021-01-22 12:53:42
【问题描述】:

我正在为我的 eshop 上的奇怪错误而苦苦挣扎。它并不总是显示,我什至不知道它,因为在我的 PC 上它不显示,但我制作了将所有 javascript 错误发送到我的电子邮件的调试功能。 我得到 ReferenceError: po_zaladowaniu_strony 没有定义 po_zaladowaniu_strony 是页面加载后应该作为最后一个运行的函数,它设置了一切等等。 我头我有(作为第一个脚本):

<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
<script type="text/javascript" src="/js/po_zaladowaniu.js?v=<?php echo date(U); ?>" ></script>
<script type="text/javascript" src="/js/strona.js?v=<?php echo date(U); ?>" ></script>

然后在关闭body标签之前我有:

<script type='text/javascript' src='https://code.jquery.com/ui/1.11.4/jquery-ui.min.js' defer></script>
<script type='text/javascript' src="https://code.jquery.com/jquery-migrate-1.2.1.min.js" ></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazyload/1.9.1/jquery.lazyload.min.js" defer></script>
<script type='text/javascript' src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js" defer></script>
<script src="/js/lightbox.js" defer></script>
<script type="text/javascript">
    jQuery(document).ready( function(){
        <!--  ODPALA Skrypty potrzebne po załadowaniu strony -->
        po_zaladowaniu_strony("<?php echo $_SESSION["sesja_id"] ?>","<?php echo $_SESSION["typ"]; ?>");
    });
</script>

po_zaladowaniu_strony 函数在 po_zaladowaniu.js 和 strona.js 中有其子函数,它们在 html 中被声明为 first。那么,为什么有时会出现该错误?

【问题讨论】:

  • 取决于浏览器,defer 可以在您的 doc.ready 之后加载您的脚本 - 删除 defer 以确保安全。体面的现代浏览器无论如何都会缓存 parsed 脚本,因此这些脚本可能已经在浏览器中缓存,已经解析,从而减少了对defer 的需求。有关 SO 的更多信息,请通过链接 stackoverflow.com/a/8638597/2181514
  • 好的,删除了defer标签,现在我们拭目以待:)谢谢提示
  • 请分享更多细节。另外,请解释此错误与 PHP 的关系

标签: javascript php jquery


【解决方案1】:

问题出在defer。感谢freedomn-m 指出,在a comment 中:

根据浏览器,defer 可以在您的 doc.ready 之后加载您的脚本 - 删除 defer 以确保安全。体面的现代浏览器无论如何都会缓存 已解析 脚本,因此这些脚本很可能已经在浏览器中缓存、已解析,从而减少了对 defer 的需求。有关 SO 的更多信息,请通过链接 stackoverflow.com/a/8638597/2181514

【讨论】:

    猜你喜欢
    • 2012-08-24
    • 2015-10-04
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多