J'ai un problème étrange avec mon application iPad dans Phone Gap. Le problème est que je dois ouvrir le document PDF dans mon application via des liens. Lorsque je clique sur le lien qui ouvre le PDF, il me montre le document PDF sans lien de retour.
Par conséquent, lorsque j'ouvre le document PDF dans mon application via un lien, cela me mène dans une impasse et je ne peux absolument pas revenir à la page principale de mon application.
Ma question est la suivante: comment puis-je avoir une barre supérieure lorsque j'ouvre un PDF qui pourrait me ramener à ma page d'accueil? Tout élément interne pour l'iPad peut être?
Merci beaucoup.
Essayez d’utiliser le plugin In App Browser.
Si vous utilisez une version ultérieure de Phonegap/Cordova (2.8.0, 2.9.0, etc.), elle devrait l’accompagner - rien d’autre à installer.
http://docs.phonegap.com/fr/2.9.0/cordova_inappbrowser_inappbrowser.md.html#InAppBrowser
Cela vous permettra d'ouvrir le PDF dans une nouvelle "fenêtre" superposant votre application. Il comporte un bouton "Terminé" que les utilisateurs peuvent utiliser pour le fermer et revenir à votre application lorsqu'ils ont terminé.
Vous ouvriez le PDF à l'aide du navigateur intégré à l'application, en utilisant quelque chose comme:
window.open('http://whitelisted-url.com/pdftoopen.pdf', '_blank');
C'est à dire. l'option _blank
déclenche le plug-in de navigateur intégré. Si vous utilisiez plutôt _system
, il pourrait ouvrez-le dans iBooks (devinez-le - sans être sûr à 100% s'il utiliserait iBooks).
Essayez de préfixer https://docs.google.com/viewer?url=
dans l'URL
comme, window.open('https://docs.google.com/viewer?url=http://www.example.com/example.pdf&embedded=true', '_blank', 'location=yes');
Essayez ceci pour ouvrir n'importe quel type de document à partir d'une URL en procédant comme suit:
utilisez ce code:
handleDocumentWithURL (function () {console.log ('succès');}, fonction (erreur) {console.log ('échec'); if (erreur == 53) {console.log ('Aucune application gérant ce fichier type. ');}},' http://www.example.com/path/to/document.pdf ');
Cela fonctionne pour moi à la fois sur Android et IOS. Je l'ai utilisé pour les fichiers images etPDFouverts.
Android : Il ouvre les fichiers en utilisant les applications système, le cas échéant, sinon une erreur que vous pouvez gérer.
IOS: Il ouvre les fichiers dans une fenêtre contextuelle comme la vue avec les boutons Terminé et Option.
Il ne montre pas votre URL de documents.
La source est disponible ici: https://github.com/ti8m/DocumentHandler
J'ai fini par utiliser WebIntent
comme décrit ici . La difficulté consistait à modifier WebIntent.Java pour identifier correctement le type de fichier:
String type = obj.has("type") ? obj.getString("type") : null;
// New code starts
Uri uri = obj.has("url") ? Uri.parse(obj.getString("url")) : null;
String extension = MimeTypeMap.getFileExtensionFromUrl(obj.getString("url"));
if(extension != null){
MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
type = mimeTypeMap.getMimeTypeFromExtension(extension);
}
// New code ends
JSONObject extras = obj.has("extras") ? obj.getJSONObject("extras") : null;
Merci, asgeo1,
Je l'ai résolu en utilisant window.open()
.
<a href="#" onclick="window.open('http://12example.pdf', '_blank', 'location=no');"><img src="images/samplens.jpg" border="0" /></a>
J'espère que ça aide.