问题标签 [offline-browsing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS:Apple 是否为保存到主屏幕的 Web 应用禁用了 HTML5 离线功能?
我一直在做很多工作,让一些 Web 应用程序使用 HTML5 清单在 iOS 上脱机工作。我遇到了其他人遇到的典型问题并修复了它们,一切似乎都运行良好——除了我将网络应用程序保存到我的 iPhone 4 上的桌面的情况。
如果我这样做然后启用飞行模式,我会在尝试通过主屏幕访问应用程序时收到以下警报:“您的应用程序名称无法打开,因为它没有连接到互联网。” 离线时通过 Safari 浏览器访问该应用程序可以正常工作。
如果有人知道这是否是我的错误,或者甚至是解决问题的可能性很小,请告诉我。
即使下载新的金融时报网络应用程序(通过广泛的 localStorage 支持做得很好)在从主屏幕离线访问时也会导致错误。
技术规格:使用 iOS 4.3.3 运行 iPhone 4(但在 4.3.2 中也看到了问题)
download - 下载网页的工作本地副本
我想下载一个网页的本地副本并获取所有的 css、图像、javascript 等。
在之前的讨论中(比如here和here,都是两年多),一般会提出两个建议:wget -p
和httrack。然而,这些建议都失败了。我非常感谢使用这些工具中的任何一个来完成任务的帮助;替代品也很可爱。
选项1:wget -p
wget -p
成功下载了网页的所有先决条件(css、图像、js)。但是,当我在 Web 浏览器中加载本地副本时,该页面无法加载先决条件,因为这些先决条件的路径尚未从 Web 版本中修改。
例如:
- 在页面的html中,
<link rel="stylesheet href="/stylesheets/foo.css" />
需要修正指向新的相对路径foo.css
- 在css文件中,
background-image: url(/images/bar.png)
同样需要进行调整。
有没有办法修改wget -p
以使路径正确?
选项 2:httrack
httrack
似乎是镜像整个网站的好工具,但我不清楚如何使用它来创建单个页面的本地副本。在 httrack 论坛上有很多关于这个主题的讨论(例如这里),但似乎没有人有一个防弹的解决方案。
选项 3:另一个工具?
有些人建议使用付费工具,但我简直不敢相信那里没有免费的解决方案。
html - HTML 5“离线 Web 应用程序”中有哪些新功能尚未在所有浏览器中可用?
HTML 5 的“离线 Web 应用程序”功能有哪些新功能,但并非所有浏览器都可用?
离线缓存是浏览器的工作——它是如何成为 HTML 的工作的?
Web 缓存是一种用于临时存储(缓存)Web 文档(例如 HTML 页面和图像)的机制,以减少带宽使用、服务器负载和感知延迟。网络缓存存储通过它的文档副本;如果满足某些条件,则可以从缓存中满足后续请求。
正如 Wikipedia 的Web 缓存文章中所写。
这是为 W3C 网站中的离线 Web 缓存编写的:
为了使用户即使在网络连接不可用时也能继续与 Web 应用程序和文档进行交互——例如,因为他们在 ISP 的覆盖范围之外旅行——作者可以提供一个清单,其中列出了 Web 所需的文件应用程序脱机工作,这会导致用户的浏览器保留文件的副本以供脱机使用。
HTML 5 在缓存方面做得更好和不同的是什么?
它类似于Internet Explorer 5 中的离线模式吗?我们可以缓存超出浏览器空间限制的数据吗?
请给我一个例子,以便我了解 HTML 5 离线缓存和浏览器缓存的区别。
html - HTML5 appcache - 让应用完全离线
我有一个 chrome webstore 应用程序,我在其中使用 appcache 从缓存中加载资源。我已经在使用 localStorage 来离线获取数据。
使应用程序脱机工作的问题是,如果我重新加载页面(脱机时),浏览器会检查清单,并且由于它无法访问清单 uri,因此我在控制台中收到错误消息。而已。在这一点之外没有任何事情发生。该页面不呈现任何内容。
我不确定是否有办法解决这个问题(阻止浏览器在页面重新加载时检查清单)。无论如何,我想知道 - 这是让您的资产缓存并离线使用的唯一方法。数据不是问题;但是没有资产(主要是 JS),事情一动不动。
如果有人能建议/指出我正确的方向/方法,即使在页面重新加载/刷新时也能拥有一个功能齐全的离线应用程序,我会很高兴。
php - 保存动态 PHP 页面以供离线查看
我有一个 PHP 页面foo.php
,它从 MySQL 数据库中提取记录并以一种很好的方式显示它们。棘手的部分是我在顶部有链接,例如“按名称排序”链接到foo.php?sort=name
.
我的一般问题是,如果我有几个 POST 变量,例如sort
,可能的页面数量是指数级的(在我的例子中是几百个)。有没有保存所有这些页面以供离线查看的好方法?在没有更好的解决方案的情况下,我想我可以使用wget之类的工具来下载页面的所有可能组合。如果这是解决方案,您能否为这项任务推荐更好的工具?
编辑:回答我为什么需要这个的问题:我有一个用于会议ISPC 20的动态程序,我需要将它分发给 USB 闪存驱动器上的人们。在这种情况下,我不认为提供 WAMP 解决方案是一种选择。
html - HP TouchPad 是否支持 HTML5 的离线应用(Manifest)
我有一个使用离线支持的 webapp(清单文件)。它可以在 Android、iOS、RIM 以及其他一些设备上正常工作。
但它不适用于触摸板。如果我在没有连接的情况下刷新应用程序,我会收到“无 Internet 连接”错误。有没有人有一个清单文件可以在触摸板上工作?
这是我的代码的一部分:
我的主要 HTML 文件:
清单文件(作为 text/cache-manifest mime 类型发送):CACHE MANIFEST
jquery - 可以在缓存清单中包含外部文件吗?
我正在构建一个离线 Web 应用程序并想使用缓存清单。目前我的缓存清单看起来像这样:
是否有任何理由不在缓存清单中包含外部的、CDN 托管的 jQuery、jQuery Mobile 和 Google 地图文件?
我想不出一个,但我想我会问那些比我更聪明的人:)
html - 由于缓存大小非常有限,我们不应该在 iphone 上使用 HTML5 离线清单吗?
由于缓存大小非常有限,我们不应该在 iphone 上使用 HTML5 离线清单吗?我不完全关于Android浏览器。
我有一个简单的移动网站,有 20-25 页,我也想让它离线工作。这个站点有图像、CSS、Javascrpt、HTML 输出、一个 100kb 的音频文件。所以网站的总大小约为 3mb。
正如我所读到的,iphone safari 只为缓存保留了 5MB 空间,这非常低。甚至我使用清单来缓存一些文件,但是如果用户已经浏览过其他一些使用清单的网站并且它填充了 5MB 缓存,那么浏览器甚至会将我的应用程序的文件缓存吗?
与此http://techblog.viewbook.com/2011/02/mobile-safari-offline-application-cache-limit/相关的一个很好的链接
jquery - 我是否需要在清单文件 HTML 5 清单文件中添加托管在 CDN 上的文件以进行离线缓存?
我是否需要在清单文件中添加托管在 CDN 上的文件以进行离线缓存?
这是一个示例清单文件
但在我的项目中,我使用了一些托管在 cdn 上的文件
如何在清单文件中包含这些 cdn 文件?
ipad - 应用程序缓存:iPad 上的奇怪行为
我正在制作一个网站,用户可以在其中说出他想要缓存的项目。基于此,生成清单文件。通过这样做,用户在离线时仍然可以浏览网站。这在谷歌浏览器中一切正常。但在 iPad 上,它不能正常工作。有时事情会被缓存,有时不会,甚至我访问的页面也不会。
我们整个上午都在用两台 iPad 进行测试,但我们无法在两台 iPad 上得到相同的结果。即使我们完全一样,我们有时也会得到不同的结果。
所以我们做什么:
- 开启 WiFi
- 浏览网站
- 进行一些设置,以便将一些页面/图像/...添加到清单文件中
- 关闭 WiFi
- 返回 Safari 刷新/浏览应缓存的页面。
有时在一台 iPad(这是 iPad 1)上它完全可以正常工作,但有时它根本不工作。在另一台 iPad(这是 iPad 2)上,它永远不会完全正常工作。只是一些随机的结果。
当我们完全关闭safari,然后清除缓存,然后执行下载和缓存东西的整个过程时,看起来结果也有所不同......
有人可以帮我解决这个问题吗?此刻真是让人头疼……:(