gpt4 book ai didi

ruby-on-rails - 未在 list 中定义的 HTML5 Cache Manifest 缓存请求

转载 作者:行者123 更新时间:2023-11-28 03:37:38 26 4
gpt4 key购买 nike

我正在处理需要缓存某些请求的应用程序

所以我一直在用 HTML5 缓存工作

这是我的 list 文件

CACHE MANIFEST
# 2d25a26de3a1148a2fa5e534325f84cca2184090174c6ba451451c54f71f52d6
assets/application.js
assets/application.css
assets/glyphicons/png/glyphicons_064_lightbulb.png
assets/jquery-mobile/ajax-loader.gif
assets/jquery-mobile/icons-18-white.png
application.manifest

NETWORK:
/project_show
/application.manifest

现在我在 /projects_show 页面中有如下内容

<div data-role="header" class="header">
</div>

<div data-role="content" class="content">
</div>

<div data-role="footer" class="footer" style="text-align:center">
</div>

<script type="text/javascript">
<%= store_key %>
</script>

<script id="header" type="text/template">
<h1>Listing of {{ carName }}</h1>
</script>

<script id="content" type="text/template">
<span>{{ pageName }}</span>
</script>

<script id="footer" type="text/template">
<span> CopyRight &copy; {{ user }} </span>
</script>


<script type="text/javascript">

$(document).ready(function() {
if (window.navigator.onLine) {
$.getJSON('/project/2.json',function(data) {

localStorage.setItem("acura",JSON.stringify(data));

var carTemplate = $('#header').html();
var pageTemplate = $('#content').html();
var footerTemplate = $("#footer").html();
$('div.header').html(Mustache.to_html(carTemplate, data));
$('div.content').html(Mustache.to_html(pageTemplate, data));
$('div.footer').html(Mustache.to_html(footerTemplate,data));

})

else {
var data = JSON.parse(localStorage.getItem("acura"))
var carTemplate = $('#header').html();
var pageTemplate = $('#content').html();
var footerTemplate = $("#footer").html();
$('div.header').html(Mustache.to_html(carTemplate, data));
$('div.content').html(Mustache.to_html(pageTemplate, data));
$('div.footer').html(Mustache.to_html(footerTemplate,data));
}
})
</script>

你可以看到这里的想法是,如果用户在线,则从服务器获取 json 响应,如果不在线,则从 localStorage 获取数据

不幸的是,由于 Reason,上面的代码无法正常工作

a) 缓存 list 文件也在缓存 ajax 请求

现在可以看到我没有请求 HTML 缓存 list 来缓存 json 请求

/projects/2.json

谁能告诉我为什么会这样

如果将 GET 请求修改为 POST 请求,即 POST 请求/projects/2.json,则上述代码工作正常代替 GET

但这不是我想要的任何建议

FYI Manifest 确实遵循 list 文件,因为我还注意到我的 /projects 正在获取缓存,即使未在 manifest

中定义

最佳答案

尝试添加 /project/2.jsonNETWORK list 的一部分。然后应该始终从服务器而不是从应用缓存提供对该 URL 的请求。

关于您的 /projects页面被缓存:您是否将该页面绑定(bind)到此应用程序缓存(通过在页面的 manifest="..." 元素中具有 <html> 属性)?如果将页面绑定(bind)到应用缓存,则页面本身始终是应用缓存的隐式部分(作为所谓的“主条目”)。

关于ruby-on-rails - 未在 list 中定义的 HTML5 Cache Manifest 缓存请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com