标签: offline

用于在iPhone上缓存网页的库?

是否有可用于在本地缓存网页以便在iPhone上进行离线查看的库或框架?如果没有,这样做的最佳策略是什么?

目前我正在考虑的是下载HTML,获取其URL,缓存这些URL,然后重写HTML以指向本地文件.这是最好的方法吗?

谢谢!

iphone webpage caching offline local

8
推荐指数
2
解决办法
5368
查看次数

Eclipse中的离线Java API文档?

是否有任何其他离线方式的集成来获取Java API文档?

java eclipse offline java-api

8
推荐指数
1
解决办法
1万
查看次数

编写应用程序以脱机工作(Web应用程序)

编写脱机工作和在线工作时,最好将其编写一次以脱机工作,在线模式与脱机工作方式相同吗?

例如,让我们看看我们有一个典型的购物车示例.购物车包含物品和顾客.

加载购物车时,是否应该将所有项目+客户缓存在本地存储中并在线上和线下使用该数据缓存并根据需要更新缓存?开发离线/在线混合Web应用程序时有哪些最佳实践?

html5 offline web-applications

8
推荐指数
1
解决办法
3302
查看次数

如何在离线Linux机器上安装nltk的english.pickle

我试图在无法连接到互联网的SUSE Linux机器上运行nltk.

我已经成功安装了nltk并且它运行但是当我提交时

>>> tagged = nltk.pos_tag(tokens)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

LookupError:
**********************************************************************
找不到资源'tokenizers/punkt/english.pickle'.请使用NLTK Downloader获取资源:

我无法使用下载器,因为我无法将盒子连接到互联网.

有没有人可以安装必要的包?

python linux offline pickle nltk

8
推荐指数
1
解决办法
5394
查看次数

Firefox不会从离线缓存清单中加载页面,但在Chrome上运行正常(+缓存清单疑难解答提示)

这基本上与这个尚未回答的SO问题完全相同:离线Web应用程序不在Firefox上缓存,但在Chrome上可以

我遇到了同样的问题,我将提供更多信息,因为它可能有助于某人试图找出试图实现缓存清单的神秘奥秘和陷阱.

问题:点击页面重新加载/刷新,页面应该从脱机缓存重新加载,但事实并非如此.

它在Chrome 23中工作正常:当我从互联网断开连接并刷新页面时,它加载正常,控制台显示Application Cache NoUpdate事件.

但是,Firefox 15.0.1向我展示了我的404页面.

故障排除(Firefox):转到Firebug并单击DOM,然后单击applicationCache.状态显示0,表示未缓存(页面尚未脱机存储).

故障排除(Firefox):转到Firefox选项 - >高级,查看脱机Web内容和用户数据.它显示我的域使用1.4MB数据供离线使用.(这是检查您的页面是否已被缓存的好地方).

故障排除(Firefox):打开一个新选项卡,然后转到about:cache.在这里,您应该看到脱机缓存设备的标题.在这里,您可以看到缓存目录,它是保存脱机缓存文件的位置.如果单击列表缓存条目,您将在脱机缓存清单中看到这些文件.

这里有两件事我觉得很奇怪:1)当我点击列表中的任何文件时,它会转到一个空白页面,上面写着"缓存条目信息您选择的缓存条目不可用".但是,文件确实存在并且在缓存目录中不是空白2)尽管列出了缓存清单中的所有文件,但我在此处未列出我正在呼叫的页面(在Chrome DevTools中,它在清单中显示为主:即使它未在缓存清单文件中明确列出,它也会自动缓存.

这是我在线时看到的内容:使用冷(空)缓存,当我加载页面时,控制台会显示检查,下载,进度和缓存事件,但缓存状态未缓存.基本上,下载缓存文件,但无法访问它们.Firebug DOM applicationCache说:离线缓存中的0项(这与about:cache和Options - > Advanced中显示的内容相矛盾).状态为1,表示空闲.当我在线查看Firebug中的Net选项卡时,它会显示对200 OK响应的页面的GET请求.Expires设置显示1969年12月31日星期三,我认为这意味着将始终提取页面.其他文件显示304 Not Modified响应,这意味着它们是从浏览器缓存加载的,而不是脱机缓存(Chrome对这些文件的类似响应是200 OK(来自缓存),这意味着它们是从离线加载的缓存,而不是浏览器缓存).

当我离线时:使用"未缓存"缓存,GET请求失败,并加载具有200 OK(BFCache)响应的脱机回退404页面.

似乎已下载脱机缓存,因为它实际存在于磁盘上,并且控制台中显示了进度事件,但Firefox从未触发缓存事件,因此某些资源未成功下载.这些文件都是png,js或php格式,所以没有疯狂的文件格式.Chrome会将完全相同的文件下载到缓存中而不会出现问题.我也尝试过移动版Safari,它成功地从离线缓存重新加载页面.

Firefox没有缓存某些文件类型是否存在任何已知问题?我在我的一些文件上使用.html.php扩展名.我还使用php文件动态生成清单,因此它只获取存在的文件,并将它们哈希以检测更改并更新清单.

后续步骤:我将尝试一个简单的清单,看看我是否能让它工作,然后逐个添加文件,看看哪个文件触发了错误.也许Firefox不喜欢我动态生成缓存清单而不是手动更新静态文件的事实?

我已经了解了很多关于缓存清单的神秘错综复杂的知识,但我更像是一个黑客而不是计算机专家.还有其他人在使用Firefox时遇到过这种怪癖吗?

页面的开头:

<!DOCTYPE html> 
<html manifest="/directory/manifest.php"> 
Run Code Online (Sandbox Code Playgroud)

然后manifest.php就是

header('Content-Type: text/cache-manifest');
echo "CACHE MANIFEST\n";
Run Code Online (Sandbox Code Playgroud)

它使用RecursiveDirectoryIterator来获取目录中的所有文件(默认情况下包含的缓存本身除外).

firefox offline application-cache offline-caching html5-appcache

8
推荐指数
0
解决办法
3158
查看次数

如何检查设备是在线还是离线Phonegap

检查设备(智能手机)是在线还是离线的最简单方法是什么.我正在使用phonegap,jquery mobile.我找到了这个.

document.addEventListener("online", yourCallbackFunction, false);
Run Code Online (Sandbox Code Playgroud)

我想要做的是检查互联网连接,并决定从互联网或设备本地数据库获取数据.

if(deviceoffline)
  getDataFromLokalDatabase();
else
  getDataFromInternet();
Run Code Online (Sandbox Code Playgroud)

javascript jquery offline cordova

8
推荐指数
2
解决办法
2万
查看次数

如何下载整个NPM存储库以获得完全离线开发的乐趣?

最近我在度假时有限的互联网连接.当我突然需要一些NPM包时,我正在node.js中开发一个应用程序.这使得开发工作严重停顿,我不得不等到我上网下载所述软件包并继续开发.

是否可以在我的计算机上本地镜像整个npm注册表?怎么做?

应该可以看到主要注册表的在线镜像存在.他们从哪里收集所有包裹?

javascript offline node.js npm

8
推荐指数
1
解决办法
3701
查看次数

Android Gradle Jacoco:用于集成测试的离线工具

我们正在构建一个使用Appium进行测试的Android应用.现在我想看看Appium测试的测试覆盖率.我认为这是可能的,因为Jacoco支持离线仪器(http://www.eclemma.org/jacoco/trunk/doc/offline.html).

甚至jacoco gradle插件的文档也说:

虽然所有类型为Test的任务都会自动增强,以便在应用java插件时提供覆盖信息,但JaCoCo插件可以增强任何实现JavaForkOptions的任务.也就是说,任何分叉Java进程的任务都可用于生成覆盖信息.

请参阅https://docs.gradle.org/current/userguide/jacoco_plugin.html

但是我如何编写build.gradle,以便检测我们的验收调试风格,并在执行Appium测试或执行手动测试用例时将exec文件写入Smartphone?因为那时我可以提取exec文件并将其发送给SonarQube进行进一步分析.

谢谢Ben

android offline gradle jacoco test-coverage

8
推荐指数
1
解决办法
3388
查看次数

我们可以使用kubeadm在完全离线模式下安装Kubernetes吗?

我需要在完全脱机模式下安装Kubernetes集群.我可以按照http://kubernetes.io/docs/getting-started-guides/scratch/上的所有说明进行操作,并从二进制文件安装,但这似乎是一个涉及的设置.安装使用kubeadm非常简单但我没有看到任何关于我是否可以通过在.deb本地下载软件包来安装集群的文​​档.

任何指向该方向的指标都非常感谢.

offline kubernetes kubeadm

8
推荐指数
1
解决办法
3144
查看次数

Firebase + React Native:离线身份验证

我在React Native iOS应用程序中使用Firebase,主要用于存储用户数据和用户身份验证,当设备实际具有有效的网络连接时,该功能非常有用.

说到Firebase的离线功能,它看起来像这样:

问题:用户启动没有网络连接的应用程序无法执行任何操作,因为他们从未登录过

以下是重现此行为的步骤:

第1步:注销用户启动具有网络连接的应用程序

  1. 用户点击"Facebook登录"按钮
  2. Firebase使用Facebook身份验证登录
  3. onAuthStateChanged (user) 正在使用登录用户作为参数调用
  4. 获得的令牌user.getToken()被发送到我的服务器,该服务器生成一个自定义令牌(generatedToken),可用于登录Firebase身份验证使用signInWithCustomToken (generatedToken),因此保存在本地存储中
  5. 用户愉快地读取和写入Firebase数据库,更改立即与Firebase服务器同步

第2步:登录用户启动具有网络连接的应用程序

  1. 应用程序意识到generatedToken在本地存储中有一个
  2. generatedToken 是用来 firebase.auth().signInWithCustomToken (..)
  3. (与步骤1.3相同)
  4. (与步骤1.4相同)
  5. (与步骤1.5相同)
  6. 网络连接丢失:用户仍然登录(onAuthStateChanged (user)未与所谓nulluser,喜欢它的后的情况下手动注销),因此仍然可以读写到火力地堡数据库
  7. 网络连接已恢复:更改与Firebase服务器同步

第3步:登录用户启动应用程序,无需网络连接

  1. 应用程序意识到generatedToken在本地存储中有一个
  2. generatedToken 是用来 firebase.auth().signInWithCustomToken (..)
  3. firebase.auth().signInWithCustomToken (..) 失败,因为没有网络连接
  4. onAuthStateChanged (user)被称为与null作为user
  5. 用户根本无法使用Firebase数据库,因为所有读/写请求都因缺少身份验证而失败

尝试的解决方案

  1. 在初始化之后persistenceEnabled立即true在Objective-C/AppDelegate.m中设置FIRApp …

offline firebase react-native firebase-authentication firebase-realtime-database

8
推荐指数
1
解决办法
4018
查看次数