gpt4 book ai didi

javascript - jQuery 加载的异步和就绪函数不起作用

转载 作者:行者123 更新时间:2023-12-01 00:34:42 25 4
gpt4 key购买 nike

为了优化文档的加载,我使用像这样的方式加载 jQuery 异步

<script async type="text/javascript" src="js/jquery-1.12.3.min.js"></script>

然后我使用 jQuery 调用脚本:

<script type="text/javascript">
jQuery(document).ready(function() {
App.init();
OwlCarousel.initOwlCarousel();
FancyBox.initFancybox();
StyleSwitcher.initStyleSwitcher();

});
</script>

它返回给我 jquery 未定义。

我不知道应该使用什么,我认为 .readyfunction 会等到所有文档加载完毕后再调用它。

Bootstrap 库也是如此,它告诉我 jQuery 没有定义。

我尝试要求脚本在最后加载,但仍然无法正常工作。

最佳答案

由于 jquery 脚本是异步加载的,因此在脚本执行时不会加载 jquery。因此,您需要通过订阅加载事件来等待它加载,如下所示:

<script async id="jquery" type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.js"></script>

然后监听此元素上的 load 事件

<script type="text/javascript">
document.getElementById('jquery').addEventListener('load', function () {
App.init();
OwlCarousel.initOwlCarousel();
FancyBox.initFancybox();
StyleSwitcher.initStyleSwitcher();
});
</script>

但我不知道为什么有人想做这样的事情。

为了优化页面加载速度,最好将所有 javascript 放在正文的末尾,这样内容将首先加载,并且如果同步加载,脚本不会延迟页面渲染事件。

编辑:我同意评论并认为前一段不是将 jQuery 加载到页面的最佳方式

关于javascript - jQuery 加载的异步和就绪函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37272020/

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