我有一个我想创建的应用程序.但我不知道该怎么做.我正在使用node.js并且想使用couchdb,但是如果像mongodb或riak这样的东西会是更好的选择,我愿意听取想法.但是,我有一个网站,比方说
cool.com
并且有一个couchdb实例,以及一个管理商店的站点.说一个购物车.数据库包含所有商店的项目和数据.该应用程序本身有一个管理后端来管理该数据,并可以更改项目.我希望能够做的是,能够让用户与互联网断开连接,并且仍然有管理员后端工作.我意识到这个工作我需要使用客户端框架与我的模型/路由/控制器/无论如何.但我不确定的是,如何让网站在离线时运行.couchdb如果在本地安装可以在重新联机时将数据从本地同步到远程,如果管理员用户在计算机上,我可以让他们安装沙发.但那可能很混乱.
此外,如果管理员用户在平板电脑或手机上怎么办?我需要有一个真正的移动应用程序和桌面应用程序才能执行此操作吗?有什么方法可以设置它,所以它是最终用户无缝的.我也希望这对最终用户来说也是离线的,但更多的受众是管理员.
另一个用例,就是POSore系统.电力消失了.但是POS系统可以从网络加载到平板电脑上,如果wifi外出,他们仍然可以进行基于卡的销售,因为该应用程序可以离线使用.
我只是不知道该怎么做.我假设我需要一个可以处理数据和后端的客户端框架.类似于余烬或棱角分明的东西.theres也在一个堆栈中,如流星和德比js,但那些并非完全脱机,但是为了实时的外观.虽然流星确实有迷你mongo所以它可能值得研究.
我希望有人可以帮我弄清楚如何让这个设置工作,最好是用沙发,但是如果我有办法同步数据,其他的nosql也会工作.
我们目前正在构建一个Web应用程序(Django,Ember),我们发现大多数潜在客户都需要对应用程序进行零星的离线访问.
我们需要的不仅仅是"呈现"应用程序,以便用户可以导航,缓存清单中的内容等等(我想我们最终也需要),但我们必须让用户尽可能多地操作,就好像他们是线上.显然有一些功能不可用,但应该可以使用应用程序的基本用法.
也就是说,我希望听到一些关于之前遇到过这种情况的人的想法.我看到这个的方式,我们需要:
1.-检查我们是否经常在线/离线,或让用户指定他们何时离线(如智能手机中的飞行模式).
2.-所有数据都应该转储到IndexedDB中,从那时起我们就使用IndexedDB处理与数据相关的任何事情.
3.-当用户重新联机时,Synch进程必须尝试将数据从脱机用户转储到db online.虽然这可能看起来很危险,但我不希望很多用户同时离线,而其他在线用户正在使用该应用程序,所以我希望这个同步过程不会成为真正的噩梦,我也不会期待有竞争条件.
好吧,显然可以选择创建一个桌面独立应用程序......但我会尽量避免这种情况......
谢谢!
django offline offline-mode offline-caching offline-browsing
直到最近,人们还可以方便地下载 Mozilla 的开发人员文档,developer.mozilla.org.tar.gz以供离线阅读。然而,Mozilla 似乎已将文档升级为新的基于 SQL 的格式,放弃了旧的 TAR.GZ。
人们不怀疑这样的升级是好的,但是我不明白升级,所以现在我很困惑。我现在应该如何离线阅读 Mozilla 的开发人员文档?
参考
我正在windows phone 7中构建一个应用程序.我有一些HTML用户指南.我想使用Web浏览器在用户触摸帮助菜单时打开这些文件.但我不知道如何获取这些文件的本地URL.请问你能帮帮我吗?
非常感谢!
我有一个PHP页面foo.php,它从MySQL数据库中提取记录并以一种很好的方式显示它们.棘手的部分是我在顶部有链接,如"按名称排序"链接到foo.php?sort=name.
我的一般问题是,如果我有几个POST变量sort,有一个指数的可能页面(在我的情况下几百).有没有一种方法可以保存所有这些页面以供离线查看?在没有更好的解决方案的情况下,我想我可以使用像wget这样的工具来下载页面的所有可能组合.如果这是解决方案,您能为这项任务推荐更好的工具吗?
编辑:回答我为什么需要这个的问题:我有一个动态的会议ISPC 20程序,我需要发送给usb闪存驱动器上的人.在这种情况下,我不认为提供WAMP解决方案是一种选择.
曾经存在用于检测连接的offline.js,但该项目不再维护。此外,众所周知,浏览器的“navigator.onLine”属性不可靠。
用于主动检测浏览器在线状态的最佳/最新方法是什么,与现代浏览器(包括移动设备浏览器)兼容,可以在在线状态发生变化时引发各种事件?我需要自己写这个,还是重新发明轮子?
请注意,我的用户群中没有人会为了联机/脱机而更改浏览器中的“脱机工作”设置。相反,他们会拔掉网线,断开 wifi 网络,开车到没有信号的地方等等。
我的想法是简单地设置一个超时以重复对我服务器上的 URL 进行 AJAX 调用,并简单地将“在线”变量设置为 true/false 以及根据 AJAX 的错误/成功调用在线/离线回调函数称呼。这是推荐的方式吗?
我的网站注册了一个 ServiceWorker,其范围仅限于以/sw/....
/**\n * Register the Service Worker.\n */\n if (\'serviceWorker\' in navigator) {\n navigator.serviceWorker\n .register(\'{{ URL::asset(\'sw/serviceworker.js\') }}\', {scope: \'./sw/\'})\n .then(registration => {\n console.log("SW registered. Scope: ", registration.scope);\n }).catch(err => { console.error("SW Register failed: ", err); });\n}\nRun Code Online (Sandbox Code Playgroud)\n\n路径内的页面之一/sw/...执行对服务器的提取,以查看与服务器的连接是否可用。它获取的地址是/ping,一个返回一些 JSON 的简单页面。请注意,地址/ping/不在路径内)/sw/...。
// Sample of the bit inside my promise that checks for the server\n// this is the request that is being cached\n\nfetch(\'/ping\')\n .then(function(response) {\n\n if (response.status == …Run Code Online (Sandbox Code Playgroud) 我一直在我的网站上使用HTML5离线缓存一段时间,出于某些原因我正在考虑将其关闭.令我惊讶的是它不起作用.
这就是我实现HTML5离线缓存的方法.
在我的index.html我给清单文件的路径
<html manifest="app.manifest">
Run Code Online (Sandbox Code Playgroud)
在app.manifest文件中,我列出了我希望由浏览器缓存以供离线使用的所有js/css/png文件.每次部署更新时,我都会更新app.manifest文件,这会导致浏览器获取清单文件中列出的所有文件的最新版本.
为了关闭离线缓存,我将index.html的开始标记更改为
<html>
Run Code Online (Sandbox Code Playgroud)
我对app.manifest文件进行了虚拟更改,以便浏览器(已经缓存我的网站)将检测到更改并下载所有文件的最新版本(包括index.html).
我注意到的是,浏览器确实获得了所有文件的最新版本.我<html>在没有manifest声明的更新版本中看到了新标记,但是浏览器对将来更改的行为不会改变.即我现在希望浏览器在服务器上更改时立即获取新版本的index.html文件.然而,这不会发生.在我对清单文件进行任何更改之前,浏览器不会下载更新的index.html.
因此,在我看来,浏览器已将app.manifest文件永久地与我的网站URL相关联,即使我没有在<html>标签中提及它也不会将其删除.
我已经在Google Chrome和Firefox上测试了这个,结果相同.我也尝试重新启动Chrome,但它不会忘记我的网站曾为其定义了app.manifest.我还没有在网上找到关于离线缓存这方面的任何讨论.
更新:我设法通过清除所有浏览数据(通过转到设置)摆脱Chrome中的行为.但这不是我可以告诉用户做的事情.
我有使用 asp.net mvc 2 创建的简单 jQuery Mobile 站点,并使用基本表单身份验证来授予对该站点的访问权限。
该应用程序是一个简单的工作日记,允许区域经理查看有关分配给区域团队的当前问题的详细信息。
当移动连接可用时,该应用程序运行良好,但由于缺乏信号,我们需要研究使应用程序的核心离线可用的可能性。我一直在研究使用 html 5 让应用程序离线的可能性,但找不到任何有关验证用户身份的信息。
该应用程序非常基本,本质上有两个不同的列表屏幕,可深入了解工作详细信息。
1. Login
1.1 Job List
2. Job Details
1.2 Team Diary
2. Job Details
Run Code Online (Sandbox Code Playgroud)
我相信创建数据的离线版本非常容易,该版本允许在连接不可用时浏览日记,但我找不到有关在访问允许的页面之前需要身份验证的网站的任何信息离线。
这些内容不是敏感数据,但显然客户不希望任何人能够在面向公众的网站上浏览工作日记。
在可能离线使用的站点中对用户进行身份验证的首选方式是什么?
我一直在阅读使用Gears创建离线网站和使用HTML 5.我很好奇这两个关于ASP.Net MVC2 applcation与SQL数据库后端的优缺点.在我看来,因为Gears支持脱机数据库功能.这将是唯一的出路.但有了一些创造力,你可能会得到HTML 5来处理其中一些.
我在找什么?
我是HTML5的新手,非常抱歉,如果我的问题听起来很愚蠢.我想了解HTML5离线容量.AIM是开发的应用程序将数据保存在本地数据库(浏览器)中,当应用程序在线时,更改将被发送到服务器进行同步,类似地,本地数据库将定期与远程数据库同步,或者服务器将更改推送到客户端.我正在阅读HTML5网络数据库,但我发现它已被弃用.还有一个支持称为IndexDB.请任何人告诉我完成这项任务我应该关注哪一项?到目前为止HTML5是否可行?
我创建了一个应用程序,可以下载大量信息以供离线使用,其中大部分是照片。在应用程序中,我想使用一个小部件,它允许我具有平移/缩放效果,但我发现的那些似乎不能很好地与 Image.file() 一起使用,而是使用 ImageProviders。
例如,Photo_View只接受 AssetImage 和 NetworkImage 图像,它们都继承自 ImageProvider,而 Image.file() 继承自 Diagnosticable。我见过的所有软件包都以基本相同的方式运行。
所以,我的问题是如何将 Image.file() 数据转换为 ImageProvider 格式。
我写了一个简单的Python脚本来下载一个用于离线查看的网页.问题是相关链接被破坏了.所以离线文件"c:\ temp\webpage.html"有一个href ="index.aspx",但是当在浏览器中打开时它解析为"file:/// C:/temp/index.aspx"而不是" http://myorginalwebsite.com/index.aspx ".
所以我想我必须修改我的脚本来修复每个相关链接,以便它指向原始网站.有没有更简单的方法?如果没有,任何人都有一些示例Python代码可以做到这一点?我是一个Python新手,所以任何指针都将受到赞赏.
谢谢.
offline-browsing ×13
html ×3
html5 ×3
javascript ×3
offline ×3
offline-mode ×2
browser ×1
couchdb ×1
django ×1
flutter ×1
google-gears ×1
hyperlink ×1
image ×1
mongodb ×1
mozilla ×1
mysql ×1
node.js ×1
offlineapps ×1
php ×1
python ×1
web-scraping ×1
wget ×1
zooming ×1