web-dev-qa-db-fra.com

cordova-plugin-file dans Chrome: cordova n'est pas défini

J'utilise cordova-plugin-file dans mon application ionique pour télécharger des images et les enregistrer au format local.

Lorsque je l'exécute dans emulator ou iphone, il n'y a pas d'erreur, mais lorsque je le teste dans Chrome, il est indiqué cordova is not defined lorsque j'essaie d'accéder à cordova.file.dataDirectory.

Comment puis-je exécuter cordova-plugin-file en chrome? 

9
Sato

Cordova ne sera pas disponible dans le navigateur; seulement sur votre appareil. 

Dans votre index.html vous devriez avoir cette référence de script:

<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>

Comme le dit la note, le script ne sera pas disponible pendant le développement . Il sera remplacé pendant le processus de construction. 

Vous pouvez l'essayer vous-même:

cordova platform add Android

puis 

cordova build

et vous devriez trouver sous platforms\Android\assets\www 2 js: cordova.js et cordova_plugins.js .

Une autre option consiste à ajouter un navigateur en tant que plate-forme:

cordova platform add browser

et le courir:

cordova run browser

mais vous pourriez faire face à quelques problèmes.

29
LeftyX

Ce que vous pouvez facilement faire est de copier cordova.js vous-même dans votre répertoire racine pour le tester. Le fichier réside par exemple dans le répertoire

cordova-project/plateformes/ios/plateforme_www

Vous pouvez facilement le copier sur . Si vous le faites, l’objet Cordova est disponible et peut être consulté dans votre code, par exemple.

cordova.file.dataDirectory

Une bonne approche pour le débogage et le test des applications Cordova est le plug-in de navigateur Cordova, associé à Phonegap installé pour accéder à la 

phonegap serve browser 

commander. De cette façon, vous pouvez facilement tester votre application directement sur votre ordinateur sans avoir à l'envoyer à votre appareil. Cordova.file.dataDirectory mentionné ci-dessus n’est pas disponible sur votre ordinateur. Certains plugins fournissent aux mandataires de la plate-forme de navigateur des proxy que vous pouvez également tester dans votre navigateur. Pour moi, l’avantage de PhoneGap Serveur, c’est que lorsque vous modifiez votre code, que vous enregistrez et que vous rechargez votre navigateur, les modifications sont reflétées.

Je dois mentionner un autre point pour que la réflexion sur les modifications du code fonctionne. Vous devez créer un 

.cordova

répertoire dans le dossier racine de votre projet Cordova. Ensuite, vous devez ajouter un fichier Config.json avec le contenu suivant:

{
"lib": {
    "www": {
        "id": "com.phonegap.helloworld",
        "version": "3.5.0",
        "uri": "https://github.com/phonegap/phonegap-app-hello-world/archive/3.5.0.tar.gz"
    }
}
}

Comme indiqué dans le post suivant de SO: Obtenez un service téléphonique en attente dans le projet Cordova

0
Torsten Barthel