我所知道的事情:
如果脚本改变样式/内容,屏幕会闪烁(对我来说不是问题,因为我目前在页面末尾加载脚本,因此已经有了解决方法)
无法检测到脚本加载失败(不是太关注此问题,因为我开发的所有内容都需要使用或不使用javascript。可能会影响我对第1项的解决方法,但对此感到满意风险)
看起来对我来说是一个非常好的选择,但我希望在我投入时间将其纳入我的下一个项目之前提供一些参考资料(随意说出积极的事情!)。
目前我们开发的中型到大型网站通常都有适量的Javascript(虽然这种情况正在迅速增长)。我们还使用jQuery库来处理大部分Javascript。
任何人都有经验吗?是好是坏! :)
P.S。对于那些感兴趣的人this is head.js
答案 0 :(得分:16)
不。只要您在head.ready {}中放置任何依赖于加载文件的代码,那么您的代码就不会遇到任何问题。
答案 1 :(得分:9)
这是我对head.js的结论,我自己做了一些基准测试:
http://blog.feronovak.com/2011/03/headjs-script-is-it-really-necessary.html
这是主观意见,基准并不是科学的。
答案 2 :(得分:4)
我感兴趣并且想到也许还使用head.js但是我发现了一些不那么好的东西:在你给我的网址中有三个标签按钮:
SCRIPT SCRIPT SRC head.js
SRC in head on bottom on head
Shift + Ctr + Refresh给我的差别很小(三个@ 120mbit行之间+/- 10ms,firefox 3.6.13)
当我使用Ctr + R刷新时,head.js上的结果总是比没有head.js的其他两个版本慢100ms ...... 所以,它并不总是更快。
答案 3 :(得分:3)
当您在页面上有JS链接/操作时,可能会出现问题。在脚本完全加载之前,它们将无法工作(或者像没有JS一样工作)。这可能是也可能不是问题,这取决于你如何构建它。
答案 4 :(得分:1)
使用jquery或javascript库会有很大的问题。尝试将每个库作为唯一的主体。
我正在使用原型,scriptaculous,jquery和更多jquery附加插件。我在加载整个脚本时遇到错误。然后我发现它是由于$ sign,这是jquery和prototype的一个重要参数。
我用过
$.noConflict();
jQuery(document).ready(function($){
//jquery codes here
})
请保持脚本库的唯一性
答案 5 :(得分:0)
head.js()
给我的网页带来了问题。我的asp:button
OnClick事件都没有奏效。但如果我以传统方式(<script type="text/javascript src=""
)包含脚本,那么事件就完美无缺。我尝试了EnableClientScript = "false"
和CausesValidation="false"
。但没有任何效果。最后只是取消了head.js的想法,因为它对我的页面加载时间没有太大的影响,无论如何。