什么是javascript内部链接文件的可接受数量,在html中。 并且可能浏览器碰巧不下载外部js文件。如果是,那么为什么会发生。 在此先感谢。什么是javascript外部链接文件的可接受数量
回答
请考虑到每个外部脚本都需要一段时间才能加载,并且为其提供服务的服务器可能处于脱机状态。
您应该考虑只包含您在当前页面上使用的脚本,而不是用于小事情的世界上的所有库。
可接受数量的外部文件是。从我看来。 如果你想让你的网页流畅运行,你不应该考虑加载任何外部的东西。
外部文件通常包括用于测试目的,当你不想在本地主机上保存脚本,CSS(如:jQuery的和jQuery UI的)。但在现场制作时,您应该在主机/服务器上放置它们。也许将来外部服务器将不再可用。
浏览器不会选择要下载的内容,而是下载他所要求的内容。但是,如果脚本失败,或者脚本中有需要额外库的操作,并且该库不可用,则浏览器将停止加载并发出错误。
这个问题的答案很复杂。您必须考虑缓存,同时请求的数量以及身份验证等内容。
内联脚本的缺点是您无法充分利用缓存。如果您将脚本移动到外部文件,则重新访问用户仍可能将文件保存在缓存中,并且页面的加载速度会更快。您应该拥有多少个脚本取决于浏览器将同时发出的请求的数量(通常为4),脚本的大小和执行的复杂性。请记住,相同域上的CSS文件或基本上任何资源都会计入此限制。由于现代浏览器会延迟加载,因此您可能会忽略使用media="print"
的样式表。
如果你有超过4个脚本,第5个脚本将只在其他4个脚本中的一个被加载时才开始加载。如果这个脚本包含一些on dom ready
事件代码,它将被延迟。您可以考虑合并脚本或更改它们加载的顺序。
需要了解的另一个问题是更新。如果你更新你的脚本并且用户仍然保留旧的缓存,你将遇到问题。一些用户甚至可能会得到一些较新的脚本和一些较旧的脚本。确保你有一个适当的机制。我发现指纹识别在缓存管理中非常有用。
你可以考虑一个懒加载原则,你首先只加载最基本的脚本来显示用户绝对必须看到的内容。然后根据需要在后台加载其他脚本。
然后有像谷歌地图这样的第三方服务,你不能实际缓存这些文件,因为它们会随着时间而改变,并可能包含验证步骤以防止滥用等。您对这些脚本的控制有限。
总体而言,这取决于您所制作网站的种类。如果您正在制作更多的业务应用程序,则相对较长的加载时间可能是可以接受的。如果你正在制作一个花哨的促销网站,加载时间绝对是关键,内联脚本可能适合你。
这是一个相当先进的话题,除非遇到实际的性能问题,否则不要太担心它。 Premature optimization is the root of all evil。
感谢您的详细解释。我正在进入的真正问题是。我正在制作整个ajax网站,而且我有大量的脚本。我想将它们按照逻辑分隔在文件中,以便在它们上面工作变得简单。你会建议我做什么?也许我应该考虑使用除文件中的代码分离之外的其他方法。我是新的JavaScript。 – 2012-08-17 12:15:33
- 1. 什么是“接受”部分?
- 2. Javascript外部文件链接不正确
- 3. 将外部JavaScript文件链接到HTML
- 4. 什么是JavaScript函数接受变量的正确方法
- 5. Javascript导航外部链接
- 6. 在NoSQL中存储链接数据的可接受方式是什么?
- 7. 为什么java可执行文件不接受参数文件?
- 8. goto的可接受用途是什么?
- 9. 什么是可接受的ViewState大小
- 10. HTML页面上的内部和外部链接是什么?
- 11. 测试链接是否使用jQuery/javascript进行外部链接?
- 12. 是否可以将所有图标链接到外部文件?
- 13. 链接到LibreOffice中的外部文件
- 14. 链接到外部的css文件
- 15. 建议 - 外部文件的href链接
- 16. 链接到外部文件中的Android
- 17. Android本机可执行文件如何接受外部套接字连接?
- 18. 外部链接
- 19. 下载google建议javascript文件的链接是什么?
- 20. 什么是GNU链接器中的部分链接?
- 21. 外部链接css:文字链接对img链接
- 22. 链接到外部edmx文件
- 23. JSF链接到外部文件
- 24. 在Ruby中链接到外部文件?
- 25. Flash链接到外部文件
- 26. 链接到户外的外部文档
- 27. 将外部javascript和css文件链接到Vue组件中?
- 28. 动态加载的JQuery形成外部链接到JavaScript文件
- 29. 用于管道分隔文件的可接受文件扩展名是什么?
- 30. 除了数组外,什么容器类型glBufferData()可以接受?
现在所有的内联脚本也可能不太好,所以也许只有2个,一个jQuery库(或其他库),然后1个额外的有效载荷。所有放在页脚 – 2012-08-17 11:19:03
你的意思是“花时间加载”。由于js文件是文本文件,所以他们下载的时间不会很长。或者也许我错过了一些东西。 – 2012-08-17 12:04:14
您错过了浏览器必须解析DNS的每个文件,连接到服务器并下载该文件的事实。 – 2012-08-17 12:17:03