【发布时间】:2011-06-24 16:33:03
【问题描述】:
刚刚开始一个新的 HTML5 项目并使用modernizr.js
我在 modernizr 文档页面上注意到它说您可以使用以下内容:
Modernizr.load([
{
load: '//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js',
complete: function () {
if ( !window.jQuery ) {
Modernizr.load('js/libs/jquery-1.6.1.min.js');
}
}
}
]);
所以在我的 HTML 中我有这个:
<script src="scripts/modernizr-2.0.6.js"></script>
<script>
Modernizr.load([
{
load: 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js',
complete: function () {
if ( !window.jQuery ) {
Modernizr.load('scripts/jquery-1.6.1.min.js');
}
}
}
]);
</script>
但是看着萤火虫,没有 jquery 正在加载。
我在这里遗漏了什么明显的东西吗?
干杯, 阿迪
【问题讨论】:
-
你应该避免这种情况,你正在杀死并行脚本下载并使页面加载速度变慢(当 jq 开始应用其样式时会出现明显的闪烁)。
-
在网站上它说“Modernizr.load 不会减慢任何速度,并且有时可以通过异步和并行加载脚本来稍微提高性能。”?
-
你怎么看,浏览器开始加载它在
<head>标签中看到的所有内容,并且你的脚本不会在那里直到modernizr完成下载并且脚本执行之后. -
@Blindy,你的逻辑完全不对。
<script>标签不能并行下载,所以在最坏的情况下,这只需将它们都作为<script>标签粘贴。 -
@Adi,你在哪里检查 Firebug?我的意思是,您只是在某处添加了
console.log命令,还是在查看窗口属性?