【发布时间】: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