- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为这里的第一个问题,尽管我在众多论坛上进行了搜索,但有件事我已经被困了很长一段时间了。如果我的英语不完美,我很抱歉,我希望我的表达足够清楚,让您能够理解我并帮助我解决这个问题。
我正在尝试使用 Cordova 学习一些移动开发。我选择使用 AngularJS 来进行更好的应用程序管理,但我无法使其按我想要的方式工作。
我想创建一个类似 Instagram 的应用程序,在其中存储内存。该应用程序使用两个页面:
这是我的代码(目前):
注意:为了更好地理解,我的代码已翻译成英文。我希望我没有犯任何与当前主题无关的翻译错误
index.html
<!DOCTYPE html>
<html ng-app="myMemories">
<head>
<title>My memories</title>
<!-- Cordova references -->
<script src="cordova.js"></script>
<script src="scripts/platformOverrides.js"></script>
<!-- Downloaded files -->
<script src="scripts/jquery-2.1.4.js"></script>
<script src="scripts/angular.js"></script>
<script src="scripts/angular-route.js"></script>
<!--Personal files-->
<script src="lib/index.js"></script>
<script src="lib/app.js"></script>
<script src="lib/controllers/addMemory.js"></script>
<script src="lib/controllers/displayMemories.js"></script>
</head>
<body>
<div class="container">
<!-- Menu -->
<nav class="navbar navbar-inverse navbar-fixed-top">
<ul class="nav navbar-nav">
<li class="pull-left"><a href="#/">All</a></li>
<li class="pull-right"><a href="#/addMemory">Add</a></li>
</ul>
</nav>
<!-- Content -->
<div>
<ng-view></ng-view>
</div>
</div>
</body>
</html>
index.js (第一个加载的文件,自动生成)
(function () {
"use strict";
document.addEventListener( 'deviceready', onDeviceReady.bind( this ), false );
function onDeviceReady()
document.addEventListener( 'pause', onPause.bind( this ), false );
document.addEventListener( 'resume', onResume.bind( this ), false );
//angular.bootstrap(document, ['myMemories']); //aborted try
};
function onPause() {
};
function onResume() {
};
} )();
app.js (第二个加载的文件,创建应用程序)
var app = angular.module('mesSouvenirs', ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when("/", {
templateUrl: "vues/souvenirs.html",
controller: "souvenirsControleur"
})
.when("/ajouteSouvenir", {
templateUrl: "vues/ajouterSouvenir.html",
controller: "ajouterSouvenirControleur"
})
.otherwise({ redirectTo: "/" });
});
addMemory.html (查看添加内存)
<form role="form" class="col-xs-12">
<div class="form-group">
<label for="titre">Title :</label>
<input type="text" id="titre" class="form-control" ng-model="souvenir.titre" placeholder="Add a memory title" />
</div>
<div class="form-group">
<label for="image">Image :</label>
<button id="image" class="form-control btn btn-default">Add...</button>
</div>
<button class="btn btn-default" ng-click="creatingMemory()">Create</button>
</form>
addMemoryController.js (添加内存。目前内存是存储在本地文件中的静态json。稍后将添加动态控件)
app.controller("addMemoryController", function ($scope,$location) {
//Array of stored memories
$scope.memoriesList = [];
//Souvenir courant à ajouter
$scope.memory= {
image: "image/mountain.png",
title:""
}
$scope.creatingMemory= function () {
$scope.memoriesList .push($scope.souvenir);
$scope.saveArray();
}
$scope.saveArray= function () {
window.requestFileSystem(window.PERSISTENT, 0, $scope.fileSystemReceived, $scope.errorHandler);
$location.path("/");
}
$scope.fileSystemReceived = function (fileSystem) {
fileSystem.root.getFile("souvenirs.json", { create: true, exclusive: false }, $scope.fileEntryReceived, $scope.errorHandler);
}
$scope.fileEntryReceived = function (fileEntry) {
fileEntry.createWriter($scope.fileWriterReceived, errorHandler);
}
$scope.fileWriterReceived = function (fileWriter) {
var listeSouvenirsText = angular.toJson($scope.listeSouvenirs);
fileWriter.write(listeSouvenirsText);
}
$scope.errorHandler = function (error) {
console.log(error);
}
});
这是我的问题:当我单击“创建”按钮时,出现以下 JS 错误:类型错误:window.requestFileSystem 不是一个函数在 ( http://localhost:4400/lib/controleurs/addMemoryController.js:19:16 ) 中的 Scope.$scope. savingArray
我什至尝试使用angular.bootstrap()封装定义,但随后出现此错误:
未捕获错误:[ng:btstrpd] 应用程序已使用此元素“文档”进行引导
有人可以告诉我我做错了什么吗?
最佳答案
好的。
所以我找到了一些似乎可以解决该问题的东西。事实上,问题并不在于window.requestFileSystem函数,而是在于浏览器和应用程序的授权。
首先,我必须根据所使用的浏览器重置 requestFileSystem :
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
然后,我必须请求文件配额。我认为输入“0”意味着“我没有任何最大配额”,但这已被弃用。这是我必须做的:
var requestedBytes = 1024*1024*10; // 10MB
navigator.webkitPersistentStorage.requestQuota (
requestedBytes,
function (grantedBytes) {
window.requestFileSystem(PERSISTENT, grantedBytes, $scope.fileSystemReceived, $scope.errorHandler);
},
$scope.errorHandler
);
关于javascript - Angular 窗口.requestFileSystem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34500710/
作为这里的第一个问题,尽管我在众多论坛上进行了搜索,但有件事我已经被困了很长一段时间了。如果我的英语不完美,我很抱歉,我希望我的表达足够清楚,让您能够理解我并帮助我解决这个问题。 我正在尝试使用 Co
我目前正在开发一个旧的 iOS 应用程序。我对 Cordova 不太了解。 我被困在一个地方,代码使用 window.requestFileSytem 。此函数的成功回调中有一些代码。 调试的时候发现
我有下一个问题:我尝试在 Chrome 中使用 window.requestFileSystem() 函数,但失败了。寻找我的步骤: 1) 我向 Chrome 添加了“允许从文件访问文件”标志(请参阅
我正在开发一个基于 phonegap 4.0 和 wikitude 的安卓应用。我想在根目录上创建一个文件夹(/storage/emulated/0/或/storage/sdcard0,如果有 SD)
我正在 Firefox、IE 9、Chrome 和 Opera 上尝试下面的代码,但是没有调用 onInitFs(fs) 函数。如果我在 window.requestFileSystem(window
我在尝试解决以下情况下的延迟时遇到了一些问题 services.factory('MyService', ['$q', function($q) { var Foo = function() {
这个函数的第二个参数的目的是什么?它总是设置为零,但我从来没有找到它的用途。 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 成功, 失
下面的代码给了我一个相互矛盾的答案。数组是全局的,但不在函数范围内?我不明白。这是代码 var pictures = new Array(); var app = { initialize
我制作了一个使用 requestFileSystem 的应用程序。一切正常。添加新图像并将其存储在持久性本地文件系统中。 有人知道如何使用 toUrl() 显示图像吗? ... window.requ
我用 javascript 写了下面的代码: javascript代码: var fs=null; function initFS() { window.req
我正在使用 appgyver steroids (phonegap) 并尝试将照片从相机 API 保存到应用程序文件空间,以便在我重新扫描/重新加载应用程序时它不会被删除。我正在按照 cordova
以下代码用于具有必要权限的 Chrome 应用程序。它在 Windows XP 以外的任何操作系统中都可以正常工作。 window.requestFileSystem = window.re
我一直在我已经开发了一段时间的应用程序上使用 Cordova(与 iOS)。我过去能够很好地访问文件系统。 我通过命令行界面安装了带有 Node 的 cordova 3.3.0,并添加了我需要的所有插
我正在尝试在 Android 上开发一个简单的应用程序。我正在使用 Angular js 和 Cordova Visual studio。我需要保存一些数据(一个简单的xml)来保存数据,以供以后使用
我正在使用 Phonegap 为 android 开发 HTML5 应用程序,但是当我尝试使用以下代码获取文件系统时: window.requestFileSystem(LocalFileSystem
希望任何人都能解决这个问题,整天都在与这个问题作斗争。我试图浏览文件系统上的文件夹以选择一个文件,但我似乎无法连接到文件系统。 每当我调用“window.requestFileSystem”时,错误回
我正在尝试在移动设备上测试 HTML5 FileReader API FileReader.readAsDataURL(file),但我遇到了问题。它在桌面版 Chrome 中运行良好,但在 Safa
我是一名优秀的程序员,十分优秀!