有什么事吗;“错误”;将javascript放在asp.net表单上而不是放在单独的文件中?

有什么事吗;“错误”;将javascript放在asp.net表单上而不是放在单独的文件中?,javascript,asp.net,architecture,Javascript,Asp.net,Architecture,我正在编写一个asp.net应用程序,它有多个web表单,每个表单都有不同的用途和控件。在开发过程中,我将表单上需要的所有javascript放在表单底部的标记中(按钮事件处理程序、验证、一些自定义jQuery控件处理程序等)。我确实在外部文件中有一些javascript,例如,如果我有不特定于单个表单的函数,或者我重用的函数 现在我们接近发布日期了,我想知道我是否应该把这个javascript放在一个单独的文件中。我自己考虑一下,在1文件中轻松访问表单的所有功能会更容易维护。然而,在我看到的大

我正在编写一个asp.net应用程序,它有多个web表单,每个表单都有不同的用途和控件。在开发过程中,我将表单上需要的所有javascript放在表单底部的标记中(按钮事件处理程序、验证、一些自定义jQuery控件处理程序等)。我确实在外部文件中有一些javascript,例如,如果我有不特定于单个表单的函数,或者我重用的函数

现在我们接近发布日期了,我想知道我是否应该把这个javascript放在一个单独的文件中。我自己考虑一下,在1文件中轻松访问表单的所有功能会更容易维护。然而,在我看到的大多数web内容中,javascript通常位于外部文件中


我想看看是否有人对此有任何看法。

单独的javascript文件的优点是web浏览器的缓存行为,这会导致在初始页面加载后,后续页面请求的页面加载时间更快。您还可以缩小它们以减少加载时间。
因此,建议将javascript(以及CSS)放入单独的文件中。第二个建议是将这些文件部署在更快的服务器(CDN)上。

ASP.NET web表单将Javascript内联到表单中(例如u doPostBack)。因此,如果你这样做,这并不是世界末日(MVC的情况并非如此)

现代网站追求“不引人注目的脚本”,这意味着不允许在HTML中内联使用脚本。这有几个原因:

  • 浏览器可以缓存Javascript文件,从而提高性能
  • 可以缩小Javascript文件,从而提高性能
  • HTML不包含太多不可渲染的代码,这使得实现WAI或508法规遵从性更容易(屏幕阅读器更容易阅读)
  • 如果您使用的是以下技术,那么非结构化也更好,因为站点的设计应该不依赖于启用的脚本

  • 如果它在一个单独的文件中,它可以被缓存,并将减少带宽。浏览器不必每次都重新下载文件。如果表单中嵌入了JS,那么每个请求都会上下发送JS。当然,速度对您可能并不重要,或者性能成本可以忽略不计。当您以后更改JavaScript时,客户端浏览器通常会继续从缓存中显示旧版本。为了避免这种情况,您可以更改JavaScript文件的名称,并使用新的文件名更新表单。