Asp.net 我应该把JavaScript页面或外部文件放在哪里?

Asp.net 我应该把JavaScript页面或外部文件放在哪里?,asp.net,javascript,asp.net-2.0,code-organization,Asp.net,Javascript,Asp.net 2.0,Code Organization,在VS2008中,我有一个ASP.NET内容页,其中有一个母版页。我想为这个页面添加用于客户端验证等的JavaScript函数。我的问题是: 我应该将这些脚本写入单独的.js文件中,还是嵌入.aspx文件中 此选择是否会影响网站的性能 写JavaScript文件有什么规则吗 我会说,您应该将javascripts函数创建到单独的.js文件中,并在需要的地方将它们链接到母版页或.ASPX中 假设您“复制并粘贴”每个.ASPX中的javascripts函数,那么当加载该.ASPX文件时,呈现该页面将

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

  • 我应该将这些脚本写入单独的
    .js
    文件中,还是嵌入
    .aspx
    文件中
  • 此选择是否会影响网站的性能
  • 写JavaScript文件有什么规则吗

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

    假设您“复制并粘贴”每个.ASPX中的javascripts函数,那么当加载该.ASPX文件时,呈现该页面将花费更长的时间,因为它还需要呈现javascript函数。如果您将其保存到单独的.js文件中,则如果它较新或以前不存在,浏览器将只下载一次

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


    另一个优点是,当您需要对.js文件进行一些更改时,您只需要在一个文件中集中修改它,而不是通过大量的.ASPX进行“查找和替换”,这取决于您的使用情况。如果它是一个特定于页面的功能,那么尝试在页面本身中实现它。如果它被许多页面使用,那么把它放在一个js文件中

    它是否会影响系统的性能 网站

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


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

    你应该考虑缓存的能力,如果JavaScript函数可能在用户访问的几个页面上使用。在这种情况下,您应该将它们放在(如果可能的话)一个外部.js文件中。这样,文件将只从服务器获取一次,然后保留在浏览器缓存中。您的HTML页面变小了(对于更大的JS库来说,这是非常明显的)

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

    有关更多详细提示,请参见本页的


    干杯,

    $0.02,基于此答案发布后的发展情况。在页面中添加函数只会在用户多次请求页面之前节省带宽。在那之后,缓存会更好。此外,你还需要付费为每一次页面加载提供这些信息。通过缩小,外部可能更有意义,即使您只使用文件中的部分代码。使用最新的Chrome开发工具识别未使用的代码和js模块,您可以在发送内容方面非常精细和具体。