[英]What is the difference in putting a javascript in a file and in a script tag?
HTML 文件中的以下两个代码有什么区别? 如果我在包含xyz.js
abc.js
那么在使用脚本时是否有任何关联的优先级?
第一个代码:
<script src="js/abc.js" type="text/javascript" language="javascript"> </script>
第二个代码:
<script language="javascript">
/*same code of abc.js*/
</script
主要区别在于 javascript 文件可以被浏览器和网络设备缓存,因此用户不必在每次页面加载时都下载它。
因此,如果您有 100k 的 javascript 文件,您的访问者只需下载一次。 否则,他们必须在每次页面加载和访问时下载完全相同的 100k。
这也适用于内联和外部 CSS 和图像!!
当然,这只是缓存和浏览器性能的冰山一角(史蒂夫的书是 web 的“圣经”之一):
http://yuiblog.com/blog/2006/11/28/performance-research-part-1/
http://www.yuiblog.com/blog/2007/01/04/performance-research-part-2/
HTML 文件中的以下两个代码有什么区别?
一个需要额外的 HTTP 请求,但会被缓存。 另一个没有。
如果我在包含 abc.js 之后再添加一个 javascript 文件 xyz.js,在使用脚本时是否有任何优先级?
加载外部脚本被阻塞。 第一个将首先加载。 然后将加载第二个。
它们都使浏览器读取 javascript 并执行它。 第一个代码可以利用缓存,而后者不缓存。
第一个用例还需要另一个 HTTP 请求,这可能代价高昂。
否则没有优先权。
从文件加载脚本和从脚本标签运行脚本的第一个区别是加载需要额外的 HTTP 请求。 这通常是微不足道的,但是通过将脚本嵌入到页面中可以提高速度。 但是,从外部文件加载确实允许缓存脚本。 不过,您似乎不能依赖缓存。
现在,我应该告诉你,将所有脚本硬编码在页面上并不是很容易管理。 如果您想更新其中一个脚本,但它与特定的 html 文件相关联,则更新变得更加困难。
至于你的第二个问题,脚本是按顺序加载的。 在加载脚本时,所有外部加载都被阻止。 因此,建议将所有脚本包含在<body>
标记的底部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.