2014-02-17 22 views
1

是否可以使用JavaScript修改客户端的本地应用程序缓存? 我需要每次客户端查看或添加一个新项目时更新应用程序缓存。 编辑 例如这是我的应用程序缓存文件:在客户端使用javascript修改本地Appcache?

CACHE MANIFEST 
# 2014-02-13 v13.0.0 

CACHE: 
#HTML 
http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.js 
animation.js 
test.css 

的问题是,如果有更新的清单和一个新的生产线,以 添加新的文件来存储,而不给它添加一个方法服务器端的干预是这样的:

CACHE MANIFEST 
    # 2014-02-13 v13.0.0 

    CACHE: 
    #HTML 
    http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.js 
    animation.js 
    test.css 
    http://download.support.xerox.com/pub/docs/FlowPort2/userdocs/any-os/en/fp_dc_setup_guide.pdf 
+0

它是什么样的缓存?你想更新客户端的JS/CSS /图像吗? –

+0

我想在其他工作中更新appcache文件本身我希望它存储新文件,是否有办法告诉appcache在客户端添加该特定文件(图像,js,css或任何其他类型) – user2422940

回答

0

你想要做什么可以做,有点。主要的注意事项是,每次更新缓存时,它都会重新下载整个缓存,而不仅仅是您添加的新文件。

代码强制浏览器读取新的应用程序缓存文件很简单:

function updateCache(){ 
    var appCache = window.applicationCache; 

    appCache.update(); 

    if (appCache.status == window.applicationCache.UPDATEREADY) { 
     appCache.swapCache(); 
    } 
} 

我建议为http://www.html5rocks.com/en/tutorials/appcache/beginner/http://appcachefacts.info/读取更多的信息。

+0

很抱歉,我没有清楚地解释我的问题。为了使它容易理解,我有多个客户端和每个客户端,每个客户端都有他们自己的appcache,在他们的电脑中存储文件。我想知道如何在appcache文件中添加一个新行,告诉它使用JavaScript存储这个新文件,而不需要服务器的干预。我不是在谈论更新。 – user2422940

+0

我不认为你可以做这个客户端 - 你需要一些服务器端来创建新的appcache文件,然后你可以强制客户端进行相应的更新。 – boz

相关问题