代码之家  ›  专栏  ›  技术社区  ›  THX-1138

好主意还是坏主意:将数据库加载为单独的.js文件

  •  1
  • THX-1138  · 技术社区  · 14 年前

    我有一个网页,你可以自定义你的游戏角色。为了加快浏览速度(gems),我将整个gems数据库(600个条目,247kb)作为单独的.js文件加载,这样就可以缓存它,而不需要每次都加载它。

    我没有注意到延误,这仍然是个坏主意吗?
    我应该让Ajax在运行中获得必要的记录吗?

    仅供参考:我使用ASP.NET MVC 2.0,下面是加载脚本:

    <script type="text/javascript" src='./Data.aspx/Gems'></script>
    

    下面是行动:

    [OutputCache(Duration = 14400, VaryByParam = null)]
    public ActionResult Gems() {...}
    

    编辑: 我主要关心的不是加载时间,而是内存使用。浏览器加载/解析excra 250kb的javascript会有显著的影响吗?

    3 回复  |  直到 7 年前
        1
  •  2
  •   Frankie    14 年前

    我觉得这是个不错的主意。另外,如果您需要“升级”gems数据库,您只需加载带有版本标签的脚本,如

     <script type="text/javascript" src='./Data.aspx/Gems?v=1232'></script>
    

    在哪里? v=123 如果需要,将强制用户下载新版本。

        2
  •  1
  •   Dave Anderson    14 年前

    我假设在脚本完全加载之前页面不会运行,但是为了让页面感觉更快,您应该 load the javascript at the bottom of the page .

        3
  •  0
  •   mikerobi    14 年前

    将数据嵌入为脚本将导致浏览器停止页面加载,直到脚本文件被下载和分析。

    如果使用Ajax获取一个静态脚本或数据文件,浏览器应该将其缓存为一个内联脚本,这样使用Ajax就不会有任何负面影响,而且您不必担心会降低页面加载速度。