jquery - 使用回退异步加载 jquery 核心

标签 jquery asynchronous pagespeed

通过 header 中的性能优化和非阻塞脚本,我一直在尝试异步加载 jquery 本身。

我遇到了 jQuery Loader脚本,异步加载 jquery,然后捕获 jquery 文档就绪调用并将其排队。这似乎在大多数情况下都有效,但并非总是有效。

因此,如果加载程序未在 x 秒内完成,我创建了一个后备来加载本地 jquery 版本。后备措施有效,但并不完全有效。有些部分可能有效,有些部分则不行。

加载 jquery 加载器脚本后,到目前为止在 head 中调用的脚本:

<script type="text/javascript">
function loadScript(url)
{
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    head.appendChild(script);
}

var fallback_timer = setTimeout(function() {
    loadScript('/path/to/local/js/jquery.js');
},5000);
jQl.loadjQ('//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js',function({clearTimeout(fallback_timer);});

</script>

问题:

  1. 任何有 jQuery Loader (jQl) 经验的人都可以帮助解决这个问题 经常失败的问题吗?

  2. 任何人都可以告诉我原因,万一失败,只有我的其他一些 js 脚本可以工作,但有些脚本总是失败?

  3. 我非常愿意与其他一些异步加载 jquery 核心 要查找的插件/脚本/方向。

澄清一下,我并不是在考虑使用 jQuery 异步加载脚本,而是在异步加载 jquery 本身,同时支持在以后的某个地方加载依赖于 jquery 的脚本。

最佳答案

首先从CDN加载jQuery,如果没有加载成功则从本地源加载。

我会推荐以下,

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript"> window.jQuery || document.write('<script src="js/libs/jquery-1.7.2.min.js"></script>')</script>
<script type="text/javascript" src="scripts.js"></scripts>

来自 Load jQuery with Javascript and use jQuery

在您的代码中,您应该仅在未加载 jQuery 时加载 jQuery,并检查 Firebug 中的文件路径(网络选项卡)是否拼写错误

关于jquery - 使用回退异步加载 jquery 核心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21909554/

相关文章:

PageSpeed 和 CDN 图像

pagespeed - 如何避免 Google Ads 降低我的网站速度(尤其是移动网站)?

css - 导入 typekit url 时使用字体显示

javascript - 等待结果时的动画

python - 如何通过多线程代码python提高Webscraping代码速度

ios - swift 数组 : how to append element references in order to update element later on from a synch request?

.net - Async.AwaitEvent 在调用基础事件后不会取消

javascript - 如何使用按钮更改 HTML 范围 slider 值?

javascript - 添加和删​​除类不起作用

jquery - CSS JQuery 位置选择器在 IE 上为空