Javascript性能-使用$.getScript()添加脚本
Javascript Performance - Adding Scripts with $.getScript()
我目前正在制作一种web应用程序,其中一部分是通过动态加载js脚本并将其添加到页面中来实现的。为此,我使用JQuery的$.getScript()
方法将其加载到.中
我已将其设置为缓存。
对于我的程序,如果脚本已经存在,它无论如何都会从缓存中再次加载。但我想知道的是,这会对网站和性能产生多大影响。一个与现有脚本具有相同src的新加载脚本是覆盖前一个脚本,还是将新脚本添加到旧脚本旁边?
此外,由于我的网站是AJAX网站,随着时间的推移,来自不同页面的几个脚本最终可能会被加载。浏览器是否对一个人可以加载的脚本数量有任何限制?
它将影响站点性能。即使您的脚本缓存在带有过期设置的客户端上,浏览器仍然需要解析和执行新包含的脚本。更重要的是,您很有可能会遇到javascript错误,因为您的脚本将覆盖以前版本已经设置的变量。JavaScript解析和执行在所有浏览器中仍然是一个阻塞操作,因此当您的文件被处理时,您的UI将被锁定。
为了回答问题的第二部分,据我所知,给定页面上的javascript文件数量没有限制。我看到过有200多个java脚本的页面,它们没有抛出任何异常。
我认为Ilya提供了一些值得考虑的要点,我认为这回答了您的具体问题。然而,如果您想要完成的是重新运行$(document).ready()
处理程序,您可以执行以下操作:
(function(){
var myreadyfunction = function(){
$('#affected').toggleClass('blue');
};
$(document).ready(myreadyfunction);
$(document).ready(function(){
$('button').click(myreadyfunction);
});
})();
http://jsfiddle.net/Z97cm/
我已经将它划分为一个匿名(function(){})();
的范围,以避免出现在全局范围之外,所以如果您需要从该范围之外访问该函数,您可能需要考虑这一点。但这让你大致了解了我在说什么。
- ScriptManager.RegisterStartupScript保持多次添加脚本块
- 如何在 JavaScript 中的 HTML head 标记中动态添加脚本值
- 添加脚本包括一个顶点:组件
- 如何在正文元素之前添加脚本
- 如何使用 javascript 添加脚本代码
- 如何使用javascript在子窗口中添加脚本文件
- 在 CakePHP 中,现在 View->addScript() 已被弃用,我如何向我的布局添加脚本*一次*
- 在页面加载 c# 上添加脚本
- 如何在 iframe for jQuery 中添加脚本元素
- 如何在 PHPBB3 Teamplate 中动态添加 <脚本> 标签
- 在页面 JavaScript 中动态添加脚本
- 如何从HTML字符串动态添加脚本到网页
- Javascript性能-使用$.getScript()添加脚本
- 动态添加脚本时未定义$/jQuery
- Google+Business帐户,添加脚本以自动将同事添加到新用户的同事圈中
- 添加<脚本>元素时,CSS 翻译过渡停止工作
- 不能在header中添加脚本
- 在window.onload后添加脚本src
- 添加脚本路径到xslt文件
- 如何在html文件中添加脚本标签,在jquery.js被包含之后,但在结束正文标签之前只使用javascript