2017-06-30 4 views
2

FileRun a une belle Google-Drive Style File-Explorer. Vous pouvez le tester ici FileRunDemoSiteForce Auto Open Dialog dans Chrome

Lorsque je télécharge un fichier, je peux choisir si je veux ouvrir le fichier directement dans une application Office.

Open Dialog

Lorsque je clique sur Office, Google me invite avec une boîte de dialogue Ouvrir le fichier Chrome. Le fichier s'ouvre directement à partir de l'emplacement au lieu d'être sauvegardé dans le dossier/downloads /.

enter image description here

Comment puis-je obtenir ce comportement? Toutes les réponses existantes sur les SA indiquent que cela n'est pas possible, ce qui peut être intéressant pour d'autres. Même Google n'a pas implémenté cela. Existe-t-il une solution cross-browser?

onedrive il fait aussi bien:

enter image description here

+0

C'est une caractéristique très intéressante. Cependant, lorsque je clique sur "Office" dans le menu "Ouvrir avec ...", rien ne se passe. J'utilise Chrome sur Mac. – shaochuancs

+0

Je suis sur Chrome et Windows - ça marche très bien. Je pense que cela pourrait être réglé parce que le bureau n'est pas un format officiel. – Delcon

Répondre

0

Je pense personnellement que cela est accompli par l'application à partir via une URL spécifique.

Je sais que cela fonctionne sur iOS pour le lancement de l'application. Dans iOS il a été fait par quelque chose (simillar à mailto:[email protected])

<script type="text/javascript" charset="utf-8"> 
window.location = "myapplication://myparams"; 
</script> 

EDIT: Je reçois enfin, vous devez utiliser schéma d'URL d'application. Par exemple, si vous voulez ouvrir votre fichier Excel via un navigateur, vous devez utiliser ce code JS.

window.location.href = encodeURI('ms-excel:ofe|u|http://example.com/excel.xlsx'); 
+0

la source liée parle de l'édition du registre. Le javascript semble prometteur. Pouvez-vous me donner un exemple de travail? – Delcon

+0

Oui, ça parle. Mais regardez un début de l'article. Ils parlent abourt Content-Type, qui peut-être important de le faire .. – Tomas2D

+0

Si vous avez un iPhone par exemple, ouvrez Safari et tapez fb: // la boîte de dialogue apparaîtra et l'application Facebook sera ouverte. :) – Tomas2D

1

Merci à Thomas2D pour m'avoir mis sur la bonne voie. Comment cela fonctionne-t-il?

Si vous développez une application, vous pouvez enregistrer un nouveau protocole avec le système d'exploitation. http:// sera traitée par votre navigateur par défaut. applicationX:// sera traitée par applicationX, ms-word:// sera traitée par mot. Si vous cliquez sur un lien, le navigateur/système d'exploitation recherche quelle application doit gérer le protocole et passer la requête à cette application.

Pour les documents Office, l'URI est un peu plus complexe ms- excel:ofv|u|http://contoso/Q4/budget.xls. Vous pouvez l'ouvrir en lecture seule/pour éditer/comme modèle. Consultez ce document pour une description détaillée de toutes les options: Office URI Schemes

Pour les autres applications, consultez les schémas d'URI avec cette application.

Comment l'utiliser sur un site Web:

Il est conseillé de ne pas mettre un lien vers une application dans un élément Dom attribut href. Vous n'avez aucun moyen de vérifier si l'application est installée ou non.

Si vous utilisez Javascript, vous pouvez vérifier si la demande expire/échoue et utiliser http:// à la place.

.Définissez le protocole dans un href: window.location.href = encodeURI('ms-excel:ofe|u|http://example.com/excel.xlsx') ou en réglant le la location.protocol, https://www.w3schools.com/jsref/prop_loc_protocol.asp

Il y a un plugin jQuery pour le faire: jquery.applink.js