尝试检查文件是否存在,如果没有下载
Trying to check if a file is there, if not download it
嗨,伙计们,我正在尝试使用这个简单的代码来检查文件是否存在,如果没有下载它。但它始终只会向我显示"正在检查数据文件"。
可能是什么原因?
我在这里找到了代码:http://www.raymondcamden.com/2014/07/01/Cordova-样本检查文件和下载,如果它不存在
索引.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type="text/css" href="css/app.css" />
</head>
<body>
<h2>My App</h2>
<div id="status"></div>
<script src="cordova.js"></script>
<script src="js/app.js"></script>
</body>
</html>
应用.js
document.addEventListener("deviceready", init, false);
//The directory to store data
var store;
//Used for status updates
var $status;
//URL of our asset
var assetURL = "https://raw.githubusercontent.com/cfjedimaster/Cordova-Examples/master/readme.md";
//File name of our important data file we didn't ship with the app
var fileName = "mydatafile.txt";
function init() {
$status = document.querySelector("#status");
$status.innerHTML = "Checking for data file.";
store = cordova.file.dataDirectory;
//Check for the file.
window.resolveLocalFileSystemURL(store + fileName, appStart, downloadAsset);
}
function downloadAsset() {
var fileTransfer = new FileTransfer();
console.log("About to start transfer");
fileTransfer.download(assetURL, store + fileName,
function(entry) {
console.log("Success!");
appStart();
},
function(err) {
console.log("Error");
console.dir(err);
});
}
//I'm only called when the file exists or has been downloaded.
function appStart() {
$status.innerHTML = "App ready!";
}
这些只是 android Studio 中 logcat 输出的最后一行,因为在这里插入所有内容太多了:
10-22 16:46:40.927 2315-2315/? E/PGA﹕ PgaUtilsParamSize: unsuported param GL_CULL_FACE, assuming size 1
10-22 16:46:40.927 2315-2315/? E/PGA﹕ PgaUtilsParamSize: unsuported param GL_DITHER, assuming size 1
-22 16:47:48.367 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:48:43.477 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:48:48.827 30217-2359/? D/BstCommandProcessor-httpd﹕ command: ping
10-22 16:48:48.827 30217-2359/? D/BstCommandProcessor-httpd﹕ response: {"result":"ok"}
10-22 16:48:48.847 30217-2360/? D/BstCommandProcessor-httpd﹕ command: clipboard (with args)
10-22 16:48:48.847 30217-2360/? D/BstCommandProcessor-httpd﹕ response: {"result":"ok"}
10-22 16:49:38.587 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:50:33.697 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:50:42.037 30217-2361/? D/BstCommandProcessor-httpd﹕ command: ping
10-22 16:50:42.037 30217-2361/? D/BstCommandProcessor-httpd﹕ response: {"result":"ok"}
10-22 16:50:42.257 30217-2362/? W/BstCommandProcessor-httpd﹕ Reached maxLineLength limit while reading the content of a file
10-22 16:50:42.257 30217-2362/? D/BstCommandProcessor-httpd﹕ command: clipboard (with args)
10-22 16:50:42.267 30217-2362/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1969K, 24% free 6849K/8896K, paused 0ms, total 0ms
10-22 16:50:42.277 30217-2362/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1557K, 24% free 6850K/9004K, paused 10ms, total 10ms
10-22 16:50:42.287 30217-2362/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1318K, 24% free 6854K/9004K, paused 10ms, total 10ms
10-22 16:50:42.297 30217-2362/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1230K, 24% free 6851K/9012K, paused 10ms, total 10ms
10-22 16:50:42.307 30217-2362/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1215K, 24% free 6852K/9012K, paused 0ms, total 0ms
10-22 16:50:42.307 30217-2362/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1161K, 24% free 6858K/9012K, paused 0ms, total 0ms
10-22 16:50:42.317 30217-2362/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1101K, 24% free 6862K/9012K, paused 10ms, total 10ms
10-22 16:50:42.317 30217-2362/? D/BstCommandProcessor-httpd﹕ response: {"result":"ok"}
10-22 16:51:28.807 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:52:00.027 30100-30111/? D/dalvikvm﹕ GC_FOR_ALLOC freed 7538K, 38% free 12639K/20212K, paused 10ms, total 20ms
10-22 16:52:23.917 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:53:19.027 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:53:26.057 30217-2363/? D/BstCommandProcessor-httpd﹕ command: ping
10-22 16:53:26.057 30217-2363/? D/BstCommandProcessor-httpd﹕ response: {"result":"ok"}
10-22 16:53:26.077 30217-2364/? W/BstCommandProcessor-httpd﹕ Reached maxLineLength limit while reading the content of a file
10-22 16:53:26.077 30217-2364/? D/BstCommandProcessor-httpd﹕ command: clipboard (with args)
10-22 16:53:26.097 30217-2364/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1795K, 25% free 6825K/9020K, paused 10ms, total 10ms
10-22 16:53:26.097 30217-2364/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1489K, 25% free 6824K/9020K, paused 0ms, total 0ms
10-22 16:53:26.117 30217-2364/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1352K, 25% free 6825K/9020K, paused 10ms, total 10ms
10-22 16:53:26.117 30217-2364/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1251K, 25% free 6836K/9020K, paused 0ms, total 0ms
10-22 16:53:26.127 30217-2364/? D/BstCommandProcessor-httpd﹕ response: {"result":"ok"}
10-22 16:54:14.137 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:54:23.877 30217-2365/? D/BstCommandProcessor-httpd﹕ command: ping
10-22 16:54:23.877 30217-2365/? D/BstCommandProcessor-httpd﹕ response: {"result":"ok"}
10-22 16:54:23.887 30217-2366/? D/BstCommandProcessor-httpd﹕ command: clipboard (with args)
10-22 16:54:23.887 30217-2366/? D/BstCommandProcessor-httpd﹕ response: {"result":"ok"}
10-22 16:54:30.017 29999-30062/? D/ConnectivityService﹕ Sampling interval elapsed, updating statistics ..
10-22 16:54:30.017 29999-30062/? D/ConnectivityService﹕ Done.
10-22 16:54:30.017 29999-30062/? D/ConnectivityService﹕ Setting timer for 720seconds
10-22 16:54:30.197 29999-30062/? D/ConnectivityService﹕ handleInetConditionChange: net=1 != default=9 - ignore
10-22 16:55:09.247 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:55:41.237 29999-29999/? I/EntropyMixer﹕ Writing entropy...
10-22 16:56:04.357 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
10-22 16:56:59.467 30178-30897/? D/dalvikvm﹕ GC_FOR_ALLOC freed 736K, 29% free 2727K/3840K, paused 0ms, total 0ms
@Taurus22,您可能使用的是最新版本的编译器。这是刚接触Cordova/Phonegap的开发人员的常见问题。您有一个whitelist
问题。
修复许多常见的白名单问题
另一种方法是此快速修复 - 但要知道此快速修复消除了white-list
的所有需求。这会产生您可能不希望通过的安全问题。
快速修复 将其添加到您的 PHONEGAP BUILD ONLY
的config.xml
<preference name="phonegap-version" value="3.7.0" />
长答案是这样的:
从刚接触Cordova/Phonegap的开发人员犯的热门错误中,您遇到了:
- #6 不为编译器设置"phonegap版本">
- #7不为您的插件设置"版本">
- #10 不在 config.xml 中添加新的"白名单"和"白名单插件"参数。
对于#6和#7
对于 CLI 版本,如果您没有为您的平台分配版本,或者在"Phonegap 构建"中,如果您没有在 config.xml 中设置电话间隙版本,您将获得最新版本。如果幸运的话,您的程序可以按预期工作。如果你不走运,你会得到一组级联错误。
幸运的是,Holly Schinsky写了一篇很好的博客文章来解释这一切:
科尔多瓦/PhoneGap 版本混淆
http://devgirl.org/2014/11/07/cordovaphonegap-version-confusion/
对于#10
这个相对*新的*要求意味着 - 要访问网络上的任何网站或资源,您必须使用白名单和白名单插件。如果您使用的是 cordova-android@4.0.0 或更高版本,此要求将生效;包括 cli-5.1.1 和 cli-5.2.0。但是,如果您的版本低于 4.0.0,例如 3.5.0 或 3.7.0,那么您将不必添加白名单要求。
需要明确的是,"白名单"已经存在了一段时间,但插件和要求非常新。如您所料,当添加"白名单"时,事实上的开放访问功能已被弃用。或者换句话说,事实上的开放访问功能是计划并计划被取消的。此更改标志着删除开放访问功能的步骤。
此外,内容安全策略(CSP(已经吸引了许多开发人员 - 因为它的宣传太少了。根据您的使用情况和您使用的Phonegap版本,CSP需要进入您使用的每个HTML页面,就像您必须等待"deviceready"一样。但是,在某些情况下根本不需要它。该文档对某些人来说令人困惑,请仔细阅读。该文档隐藏在许多最新文档页面的底部。
最后,雷蒙德·卡姆登(Raymond Camden(在他的博客中指出,从科尔多瓦5开始,政策发生了重大变化
。
相关链接
Phonegap构建论坛:在PGB上升级到cli-5.1.1的注意事项,现在需要白名单
- 科尔多瓦白名单指南
- 电话间隙白名单指南
- 电话差距构建白名单指南
- 用于编写与我作为客户端查看的网页交互的脚本的术语(如果有的话)是什么
- 正在对已提取的文档进行填充.有可能吗?如果有,怎么做
- 如何在jquery中检测浏览器的后退按钮,如果有任何对话框打开,请关闭它
- Javascript-如果有东西,则进行渲染
- 如果有许多元素使用相同的类,我如何使用JavaScript获取特定的元素
- 使用Javascript客户端进行REST基本身份验证的安全缺陷是什么(如果有的话)
- Javascript 切掉最后一个字符,如果有 2 个
- 如果有办法在 N 秒内加载未触发,则有没有办法设置 img src
- 这个html代码可以自动提交吗(如果有单独的页面需要在提交后出现)
- Javascript:如果有三个变量
- 我可以'如果我下载了在线脚本,就不要使用它们
- 这种语法差异有什么影响(如果有的话)
- 如果有's是一个名为“”的全局函数;描述“;或“;它“;当使用诸如jasmine或mocha之类的测试框架时
- 如果有javascript代码,请验证php变量
- 从onBlur事件中获取新聚焦的元素(如果有的话)
- 检测打开新选项卡/窗口的原始选项卡(如果有)
- 表单验证:如果有错误,不要't使手风琴动起来
- 如果有更高质量的图像可用,则加载较低质量的图像
- 如果有'It’点击一个特定的分区
- 使用angular.module创建控制器有什么好处(如果有的话)