代码之家  ›  专栏  ›  技术社区  ›  LoveMeSomeCode

javascript缓存问题

  •  2
  • LoveMeSomeCode  · 技术社区  · 15 年前

    我正在制作一个在画布上绘制很多小部件和瓷砖的应用程序。核心用户界面将由一长串字符定义,并在页面加载时由javascript绘制。既然核心用户界面很大,而且永远不会改变,那么缓存它的好方法是什么?

    我知道我可以把它放在文件顶部的变量中,但是有更有效的方法吗?如写:

    var img=新图像(); img.src='moose.png'

    我假设浏览器将下载并缓存这个图像,这样在随后的请求中,它就不必再次访问我的服务器。但是如何处理文本块呢?

    编辑:基本上我在寻找一个替代方案:

    var myui=“aaaabbbcbvbvncndgagagabvbvb….大约20页;
    5 回复  |  直到 15 年前
        1
  •  2
  •   Ryan Emerle    15 年前

    您可以创建一个包含文本字符串的javascript文件。

    var text='.....';
    

    然后您可以只包括脚本:

    <script src="/ui.initialization.js" type="text/javascript"></script>
    

    然后是其他用于呈现用户界面的javascript。浏览器将缓存JS文件。

    编辑

    我假设你反对长串的文字 内联的 . 通过将其移动到一个单独的文件,您可以允许浏览器缓存它(如果它确实是静态的 您的服务器配置了适当的静态资源缓存控制)。

    这是一些 information for tweaking caching on Apache (我假设您在Apache上运行PHP)。

        2
  •  0
  •   Peter Bailey    15 年前

    大多数静态资源都可以通过浏览器进行缓存。只需将数据放入.txt,.dat,.xml或其他(甚至.js)文件中,然后通过Ajax将其加载到JavaScript中。

        3
  •  0
  •   Scott Evernden    15 年前

    在超过1Mbps的吞吐量上下载250K的时间是1秒。这是你的问题吗?

    而你下载的文件中包含了25万包的javascript,很可能会被缓存。

        4
  •  0
  •   powtac    15 年前

    你可以使用 谷歌齿轮 还是新的 HTML 5数据存储 功能,由FF 3.5和其他支持。

        5
  •  0
  •   powtac    15 年前

    使用 谷歌页面速度 Y低 想知道你能做什么其他的(HTTP)改进。