我有一个问题,一个web应用程序,我正在工作,我已经张贴了一个问题here,这是有点模糊,可能不是很有帮助。我已经决定创建一个非常基本的网站,并将其构建成一个主应用程序,看看它会在哪里崩溃。我已经这样做了,并立即陷入离线缓存。
这是IIS7.5中本地托管的基本3页静态网站。我创建了文件夹c:\inetpub\wwwroot\ManifestTesting,将其作为web应用程序添加到IIS中,并为.appcache扩展添加了一个新的MIME类型的文本/缓存清单。我还使用FireFox 9.0进行测试,因为它具有脱机模式功能。
我创建了3个html页面并将它们添加到ManifestTesting文件夹中:
page2.htm
所以现在,如果我浏览到http://localhost/manifesttesting,如果得到索引页面,可以导航到2页。
然后我创建了一个名为manifest.appcache的文件,并将其添加到ManifestTesting文件夹中:
CACHE MANIFEST
CACHE:
index.htm
page1.htm
page2.htm并在index.htm中添加了对清单文件的引用:
<html manifest="manifest.appcache">因此,如果我清除所有历史记录并浏览到index.htm,FireFox会询问是否允许该网站存储数据以供脱机使用。我单击“允许”,将浏览器切换到脱机模式,然后尝试导航到page1.htm,这很好!到目前为止一切都很好。
现在我不明白的是。然后,我在ManifestTesting文件夹中创建了一个名为“pages”的新文件夹,并将page1和page2移动到其中。我更新了索引中的链接以引用新的位置,如果我在没有清单引用的情况下浏览该网站,它就会像以前一样正常工作。然后,我在索引中重新引用清单文件,并更新清单如下:
CACHE MANIFEST
CACHE:
index.htm
pages/page1.htm
pages/page2.htm然后我清除历史,刷新,火狐要求允许网站存储离线数据,启用离线模式,然后尝试导航到page1 -它不工作!FireFox告诉我,它处于离线模式,无法浏览网页!
我做错了什么?
发布于 2012-11-08 04:55:40
这里可能有几种可能性:
( 1)你能试着用"/pages/page1.htm“代替”page/page1.htm“吗?
2)还要确保浏览器上的所有链接和键入的内容都区分大小写。(“pages/page1.htm”与“page/page1.htm”不一样)
3)你提到你清理了历史.如果您这样做是为了测试,您也需要清除物理文件缓存,而不仅仅是历史记录。
4)这可能是最可能的原因:当您对清单文件进行更改并刷新浏览器时,就会发生这种情况(假设您在线)。
<代码>H19之前已经加载了旧文件,如果此时再次刷新(第二次),您应该获得“新文件”(并且您将能够在离线page1和page2之后访问)。
这是目前的标准行为。有些人会放置一些事件处理程序来提示用户进行另一次刷新(在第一次刷新之后)。
https://stackoverflow.com/questions/8725162
复制相似问题