我正在尝试使MDN的Javascript参考可用于离线浏览(个人使用).
我不是网站的所有者也不是开发人员,我只能访问其生成的输出.
我的第一个想法是appcache.manifest在页面中注入HTML5 ; 使用manifestR我已经生成了页面资产的列表.
然后我尝试使用file:///协议指向我的本地清单文件,使用http://协议,最后使用a base64 string,表示文件的内容(data:text/cache-manifest,).似乎没什么用.
谷歌搜索后,我偶然发现他们的公共FTP.还没有完全爬它尚未.但仍然没有找到js docs的任何提及.
我考虑过使用浏览器的"另存为"命令保存HTML页面; 但我宁愿开发基于javascript的爬虫,也不愿单独保存每一页.
我在哪里可以找到MDN Docs的离线版本?或者如何在离线时浏览MDN文档?
在我的测试中,显而易见的是Mobile Safari的HTML5应用程序缓存实现有5mb的大小限制.
有谁知道如何规避或提高这个?我应该知道一些未曝光的元标记吗?我必须为离线应用缓存一些视频内容,5mb还不够.
真的很快就要讨论了,因为我想得到不同人的意见.
我正在开发一个必须离线可用的网页应用程序.
现在要做到这一点,据我所知,您将使用应用程序缓存功能或使用服务工作者.
但是,这是我的难题.在研究应用程序缓存时,MDN明确指出:
不推荐使用:
此功能已从Web标准中删除.虽然有些浏览器可能仍然支持它,但它正在被删除.不要在旧项目或新项目中使用它.使用它的页面或Web应用程序可能随时中断.
之后,另一个对话框建议使用服务工作者.
然后,Service Workers页面继续说明Service Workers是一种实验性技术,最好参考兼容性表.
兼容性表说Safari和Internet Explorer不支持Service Workers.进一步咨询该网站,并假设它是准确的,它表示微软已经开始整合服务工作者的工作,但对于Safari,他们"正在考虑""五年计划中的短暂积极信号".
现在这是当前项目的一个问题,因为它必须与Safari兼容,但是,我也不希望它在其他浏览器中破解.
你的建议是什么?只需使用较旧的应用程序缓存并在不久的将来更新?确定用户浏览器并采取适当的行动?或者,我还有另一种方法吗?
html5 application-cache offline-caching offlineapps service-worker
我正在开发一个供离线使用的Web应用程序,因此我需要使用应用程序缓存功能.
一切都在Chrome(15.0.874.106)上运行良好,但在Firefox(7.0.1)和Opera(11.52)上不起作用.
这是我的缓存清单文件cache.manifest.php(我已将其减少到最低限度):
<?php
header("Cache-Control: max-age=0, no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
header('Content-type: text/cache-manifest');
?>CACHE MANIFEST
CACHE:
/app/common/css/reset.css
/favicon.ico
Run Code Online (Sandbox Code Playgroud)
这是"主要"HTML文档的前4行:
<!DOCTYPE html>
<html manifest="/app/mobile/cache.manifest.php">
<head>
<title>MyApp Mobile</title>
Run Code Online (Sandbox Code Playgroud)
当我尝试将缓存清单(http://www.myapp.com/app/mobile/cache.manifest.php)加载到浏览器中时,文件显示正确,但是当我尝试离线加载页面时,我得到了"无法连接"错误页面.再次,这恰好发生在Firefox和Opera上.
Firebug说" 0 items in offline cache"并且我没有找到检查DragonFly上的应用程序缓存的方法.
我生气了,我不知道如何在Firefox和Opera上有效地调试问题.请帮忙.
谢谢,丹
我已经和Appcache合作了很长一段时间,但最近我花了几周的时间来开发一个不同的项目.当我回到我的离线项目时,每次尝试下载清单的内容时都会出现此错误:应用程序缓存错误事件:清单提取失败(9)此后是2个地址; 调用清单的页面的文件和行号(在同一行的右侧),以及清单本身的相对URL(在第二行).单个资源的下载不会开始.
现在,其他人都在为这个项目工作,但我是唯一一个触及任何离线气味的人.该问题似乎与我的任何常见嫌疑人无关,例如清单中的语法错误(尝试清除所有文件,只是为了确定),清单被错误地提供,或者其中一个文件有问题被缓存.我不认为这是一个内存问题,因为我有超过30 gig的空间超出我正在缓存的文件的大小.此外,这在两周前工作,所以我假设我的设置没有问题.但是,似乎没有人知道这个错误到底是什么; 似乎没有人得到这个错误.我在网上找不到任何描述这个问题的东西.因此,我的问题是:
Manifest fetch Failed(9)是什么意思?
我的浏览器是Windows 7上的Chrome,并且是最新的.
google-chrome application-cache cache-manifest html5-appcache
我正在使用HTML5 applicationCache来存储页面的许多Javascript,CSS,图像等文件.如果我更新其中一个文件,浏览器永远不会重新加载它.我尝试过以下方法:
当然这不可能是这么难.如何说服浏览器重新请求一些缓存文件?
我正在使用HTML5和SenchaTouch为iPad编写Web应用程序.该应用程序使用缓存清单脱机运行.一旦它被添加到主屏幕并在没有Safari的情况下打开,它将在每次打开时自动刷新,即使只是导航到主屏幕并返回.理想的行为是离开应用程序,做其他事情,然后回到应用程序,一切都未触及.
可以在此处找到显示相同(不需要的)行为的类似应用程序的示例:http://ignitedmediadesign.com/WebApp/index.html
我已经读过使用缓存清单应该已经在iPhone上解决了这个问题(http://www.stevesouders.com/blog/2011/06/28/lack-of-caching-for-iphone-home-screen-apps /),但似乎没有完成iPhone或iPad的技巧.
有没有其他方法来解决这个问题?是否有一些秘密可以缓存阻止我可能错过的清单文件?
application-cache ipad sencha-touch offline-web-app iphone-standalone-web-app
我一直在寻找一种方法来缓存页面,仅在用户离线时使用,否则正常下载页面.但是,一旦检测到缓存清单,浏览器将仅从这些缓存页面加载.
我的搜索让我登陆http://whatwg.org.关于编写缓存清单的部分引起了我的注意.这是一段摘录:
部分标题
节标题会更改当前节.有四种可能的节标题:
Run Code Online (Sandbox Code Playgroud)CACHE: Switches to the explicit section. FALLBACK: Switches to the fallback section. NETWORK: Switches to the online whitelist section. SETTINGS: Switches to the settings section.
前三个是众所周知的,但我没有听说过最后一个标题,SETTINGS:.文件继续这样说:
目前只定义了一个设置:
缓存模式设置
这包含字符串"
prefer-online".它将缓存模式设置为prefer-online.(缓存模式默认为快速.)
这让我想知道这个prefer-online设置是不是我想要的.我希望这个设置会告诉浏览器它应该只在设置设置时加载缓存页面fast,否则如果用户在线则下载页面.
不幸的是,我找不到任何关于此的其他信息或解释.有没有人遇到有关prefer-online设置的任何信息?或者关于SETTINGS:一般的部分?
是否可以创建一个预先填充了HTML5离线appcache的UIWebView,这样即使是用户第一次访问UIWebView,它也可以脱机工作?
如果是这样,怎么样?
我知道我可以通过其他机制实现这一目标,但以上是我的首选.如果可能的话,我只是很好奇.
我在文档中看不到任何相关内容.
编辑:我不得不删除一些链接.
我的清单页面似乎在我的网页上造成错误.当您第一次进入该页面时,所有内容似乎都会成功缓存,但在刷新时无法获取存在的文件.
我在这里做了一个快速测试页面.
这是我的清单文件.
这是一个非常动态的网站,通过php和javascript,我没有太多的appcache与这些因素,所以我不确定这个问题是否与这么多内容必须有条件地设置的事实有关.
任何帮助将不胜感激.注意:将需要Java控制台(最好在Chrome中使用).
更新:似乎如果任何文件与链接到清单文件那么多,它会收到GET错误.
在Java的控制台被连接到一个空的清单页面(同时上线)读取以下,成功后的缓存:
> Creating Application Cache with manifest
> https://www.url.org/text/cache-manifest/manifest.appcache Application
> Cache Checking event Application Cache Downloading event JQMIGRATE:
> Logging is active Application Cache Progress event (0 of 0)
> Application Cache Cached event GET
> https://www.domain.org/images/backgrounds/gradient.png net::ERR_FAILED
> GET https://www.domain.org/javascripts/pop_ups.js?_=1393453024093 GET
> https://www.domain.org/javascripts/jquery_plugins/jquery.placeholder.js?_=1393453024094
Run Code Online (Sandbox Code Playgroud)
温暖.
html5 ×7
offline ×2
firefox ×1
html ×1
ios ×1
ipad ×1
javascript ×1
jquery ×1
manifest ×1
mozilla ×1
offline-mode ×1
offlineapps ×1
opera ×1
php ×1
sencha-touch ×1
uiwebview ×1