我应该在哪里放置我的JavaScript页面或外部文件?

时间:2009-07-09 05:37:57

标签: asp.net javascript asp.net-2.0 code-organization

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

  1. 我应该将这些脚本编写在单独的.js文件中,还是嵌入.aspx文件中。
  2. 此选择是否会影响网站的效果?
  3. 是否有编写JavaScript文件的规则?

3 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:2)

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

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

有关详细提示,请参阅Yahoo!'s tips

干杯,

答案 2 :(得分:0)

这取决于您的使用。如果它是特定于页面的功能,那么尝试在页面本身中实现它。如果它被许多页面使用,那么将它放在一个js文件中。

  

是否会影响其性能?   网站?

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

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