Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有angular的Html5脱机应用程序无法脱机工作_Html_Angularjs_Caching_Html5 Appcache_Application Cache - Fatal编程技术网

带有angular的Html5脱机应用程序无法脱机工作

带有angular的Html5脱机应用程序无法脱机工作,html,angularjs,caching,html5-appcache,application-cache,Html,Angularjs,Caching,Html5 Appcache,Application Cache,我有一个带有angularJs、Breeze和Asp.NETMVC的单页html5离线应用程序。该应用程序旨在将所有文件存储在缓存中,然后离线工作。我们有一个清单文件,其中列出了应用程序需要的所有文件,包括用于插入主页的所有模板。要加载模板,我们使用标准的角度路线。当连接到服务器时,应用程序工作正常,这是因为每次angular获取模板时,即使文件在本地缓存中,它也会从服务器获取模板。一旦Angular获取了一次模板,如果再次加载相同的url,它将正常工作并从本地缓存加载 下面是我们的缓存清单示例

我有一个带有angularJs、Breeze和Asp.NETMVC的单页html5离线应用程序。该应用程序旨在将所有文件存储在缓存中,然后离线工作。我们有一个清单文件,其中列出了应用程序需要的所有文件,包括用于插入主页的所有模板。要加载模板,我们使用标准的角度路线。当连接到服务器时,应用程序工作正常,这是因为每次angular获取模板时,即使文件在本地缓存中,它也会从服务器获取模板。一旦Angular获取了一次模板,如果再次加载相同的url,它将正常工作并从本地缓存加载

下面是我们的缓存清单示例(我已尝试删除Appendhash)

我已经检查了chrome的缓存,所有的文件都在那里

下面是我们的标准路线配置

.config(["$routeProvider", function ($routeProvider) {
    'use strict';

    // default root
    $routeProvider.when("/", {
        controller: "toriga.jobsController",
        templateUrl: "templates/jobs.html"
    });

    $routeProvider.when("/notfound/", {
        templateUrl: "templates/notfound.html"
    });
 $routeProvider.when("/epc/:id", {
        controller: "toriga.epcController",
        templateUrl: "templates/epc.html"
    });
一些路由具有参数

我们真的很困惑,为什么angular不从应用程序缓存中获取模板,为什么一旦您访问了页面(例如“epc”),如果您再次导航到“epc”,它就会按预期工作,而不会转到服务器

非常感谢

解决了

问题在于清单是区分大小写的,因此角度路由中的地址应该与maninfest中的条目完全匹配。比如说 //默认根

 $routeProvider.when("/", {
        controller: "toriga.jobsController",
        templateUrl: "templates/jobs.html"
    });
应与清单条目匹配:

@Url.Content("~/templates/jobs.html")
@Url.Content("~/templates/jobs.html")