jQuery getScript与在文件中嵌入脚本

jQuery getScript vs Embedding Script in File

本文关键字:脚本 文件 getScript jQuery      更新时间:2023-09-26

我想知道是否使用jquery的getScript。

我有一个jQuery插件,我需要包括在我的网站上,但我不确定该怎么办,我想知道这些方法之间是否有区别:

就我而言,我必须包含一个相当大的脚本,但仅适用于IE浏览器。此刻我是这样做的:

if($.browser.msie){
 //minifed code
}

现在我想知道这是不是:

if($.browser.msie){
 $.getScript('link to minified script');
}

会有什么优点/缺点吗?或者,它或多或少是一样的东西?

最好使用:

if($.browser.msie){
 //minifed code
}

因为CCD_ 1永远不会缓存该文件。

获取外部脚本会有缺点。

即。一个HTTP请求

if($.browser.msie){
 //minifed code
}

两个HTTP请求

 if($.browser.msie){
 $.getScript('link to minified script');
}

您的浏览器通常一次只能处理2个http请求。因此,从性能的角度来看,第一个会更快。

进一步解释

使用getScript,IE用户将有一个较小的请求,(-您的"缩小代码"的大小)。但其他人每次都必须下载外部脚本(+外部脚本的大小*页面请求数)+由于额外的HTTP请求而导致的响应延迟。

使用缩小的代码,每个人都必须下载你的缩小代码大小(+缩小的代码大小)。

假设你的缩小代码是5K,并且被访问了10次,这意味着:

IE获取脚本:

(5K*10)+使用第二个HTTP请求的性能=50K+

非IE

0

////////////////////////////////////////////////////////

IE nonGetScript

5K

非IE

5K

这是两件完全不同的事情。在一种情况下,您将脚本嵌入到页面中,这样它就可以立即访问,并且不需要任何额外的代码来验证它是否可用。然而,在第二种情况下,您将脚本作为外部资源加载,这意味着在某些情况下,可能需要处理可能的通信错误、脚本错误等。

这两种方法不同。嵌入的第一种方法是下载整个脚本,即使浏览器没有,也会增加页面大小,这会增加页面加载性能的开销。

第二种方法会更好,只有在需要的时候才从外部js文件加载脚本,也就是说只有在浏览器是IE的时候。所以在其他浏览器中性能会更好。

你还提到剧本很大。因此,最好将该脚本包含在外部js文件中。由于这些文件被缓存在客户端机器中,从而提高了性能。无需一次又一次地提取

因此,根据您必须深入了解的源代码,您可以看到getScript正在为您添加脚本标记,因此没有区别。除了启动jQuery和处理添加脚本元素的JavaScript的(小)处理之外。我认为最大的区别是它可以让你以编程的方式注入脚本标记,这样你就可以像浏览器测试一样添加逻辑。

不需要在文件中嵌入脚本,有其他浏览器的用户不应该得到它。$.getScript只是$.ajaxdataType script的缩写,所以它只加载脚本并执行它。