2

在 VS 2008 中,我有一个具有一个母版页的 ASP.NET 内容页面。我想为此页面添加用于客户端验证等的 JavaScript 函数。我的问题是:

  1. 我应该将这些脚本写在单独的.js文件中,还是嵌入.aspx文件中。
  2. 这种选择会影响网站的性能吗?
  3. 编写 JavaScript 文件有什么规则吗?
4

3 回答 3

2

我想说,您应该将 javascripts 函数创建到单独的 .js 文件中,并将它们链接到需要的母版页或 .ASPX 中。

想象一下,您“复制并粘贴”每个 .ASPX 中的 javascripts 函数,然后当加载该 .ASPX 文件时,渲染该页面将花费更长的时间,因为它还需要渲染 javascript 函数。如果您将其维护到单独的 .js 文件中,浏览器只会下载一次,如果它较新或以前不存在。

您还可以缓存这些 .js 文件,这样浏览器就不会每次都重新加载它。

另一个优点是当您需要对 .js 文件进行一些更改时,您只需要将其集中在一个文件中进行修改,而不是通过众多 .ASPX 进行“查找和替换”

于 2009-07-09T05:41:12.257 回答
2

如果 JavaScript 函数可能在用户将访问的多个页面上使用,您应该考虑缓存的功能。在这种情况下,您应该将它们放在(如果可能)一个外部 .js 文件中。这样,该文件只会从服务器获取一次,然后保留在浏览器缓存中。您的 HTML 页面会变小(对于较大的 JS 库来说尤其如此)。

如果函数(通常是验证规则)仅适用于单个页面,则外部 JavaScript 文件会导致额外的 HTTP 请求,从而导致用户对您的页面体验的短暂阻塞。这里最好将JS嵌入到HTML文件中。

有关更详细的提示,请参阅Yahoo! 的提示。

干杯,

于 2009-07-09T05:46:33.183 回答
0

这取决于你的用途。如果它是特定于页面的功能,则尝试在页面本身中实现它。如果它被许多页面使用,则将其放入 js 文件中。

会影响网站的性能吗?

是的,它可以。如果您有一个包含数千行代码的 js 文件,并且在一个页面中,您只需调用 js 文件中的一个函数。如果您为此文件引用文件,则下载整个文件应该会浪费带宽。对于这种情况,您可以在同一页面本身内编写函数。

另一方面浏览器可以缓存一个js文件。因此,对于后续请求,如果文件存在于缓存中,则不会再次下载。但是在页面本身编写 JavaScript 的情况下,每次页面加载时都会下载其所有内容。

于 2009-07-09T05:41:46.203 回答