2017-06-30 4 views
2

FileRun hat eine schöne Datei-Explorer Google-Drive-Stil. Sie können es hier testen FileRunDemoSiteErzwingen Auto öffnen Dialog in Chrome

Wenn ich eine Datei herunterladen, kann ich wählen, ob ich die Datei direkt in einer Office-Anwendung öffnen möchte.

Open Dialog

Wenn ich auf Office-klicken, fordert google mich mit einem Chrome-Datei öffnen Dialog. Die Datei wird direkt vom Speicherort geöffnet und nicht im Ordner/downloads/gespeichert.

enter image description here

Wie ich dieses Verhalten erreichen können? Alle existierenden Antworten auf SA sagen, dass dies nicht möglich ist, also könnte dies auch für andere interessant sein. Nicht einmal Google hat das implementiert. Gibt es eine browserübergreifende Lösung?

Microsoft Onedrive tut es auch:

enter image description here

+0

Dies ist ein sehr attraktives Merkmal. Wenn ich jedoch im Menü "Öffnen mit ..." auf "Office" klicke, passiert nichts. Ich verwende Chrome auf dem Mac. – shaochuancs

+0

Ich bin auf Chrome und Windows - es funktioniert super. Ich vermute, das könnte abgestimmt werden, weil Büro kein offizielles Format ist. – Delcon

Antwort

0

Ich persönlich denke, dass diese Anwendung über bestimmte URL durch das Starten durchgeführt wird.

Ich weiß, dass dies auf iOS zum Starten der Anwendung funktioniert. In iOS es durch etwas (simillar zu mailto:[email protected])

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

EDIT getan: Ich habe es endlich bekommen, müssen Sie Anwendungs-URL-Schema verwenden. Wenn Sie beispielsweise Ihre Excel-Datei über einen Browser öffnen möchten, müssen Sie diesen JS-Code verwenden.

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

die verknüpfte Quelle spricht über die Bearbeitung der Registrierung. Das Javascript sieht vielversprechend aus. Kannst du mir ein funktionierendes Beispiel geben? – Delcon

+0

Ja, es spricht. Aber sieh dir einen Anfang des Artikels an. Sie sprechen über Content-Type, was vielleicht wichtig ist. – Tomas2D

+0

Wenn Sie zum Beispiel ein iPhone haben, öffnen Sie Safari und geben Sie fb: // ein. Das Dialogfeld wird geöffnet und Facebook wird geöffnet. :) – Tomas2D

1

Dank an Thomas2D, um mich auf die richtige Spur zu bringen. Wie es im Grunde funktioniert ist:

Wenn Sie eine Anwendung entwickeln, können Sie ein neues Protokoll mit dem Betriebssystem registrieren. http:// wird von Ihrem Standardbrowser behandelt. applicationX:// wird von applicationX behandelt, ms-word:// wird per Wort behandelt. Wenn Sie auf einen Link klicken, sucht der Browser/das Betriebssystem nach der Anwendung, die das Protokoll behandeln soll, und übergibt die Anfrage an diese Anwendung.

Für Office-Dokumente ist die URI ein bisschen komplexer ms- excel:ofv|u|http://contoso/Q4/budget.xls. Sie können es schreibgeschützt/zum Bearbeiten/als Vorlage öffnen. In diesem Dokument finden Sie eine detaillierte Beschreibung aller Optionen: Office URI Schemes

Für andere Anwendungen überprüfen Sie die URI-Schemas mit dieser Anwendung.

Wie es auf einer Website nutzen:

Es ist nicht ratsam, einen Link zu einer Anwendung in einem Dom Element href-Attribute gesetzt. Sie haben keine Möglichkeit zu überprüfen, ob die Anwendung installiert ist oder nicht.

Wenn Sie Javascript verwenden, können Sie überprüfen, ob die Anfrage abläuft/fehlschlägt und stattdessen http:// verwenden.

.Stellen Sie das Protokoll in einem href: window.location.href = encodeURI('ms-excel:ofe|u|http://example.com/excel.xlsx') oder durch Einstellen der den location.protocol, https://www.w3schools.com/jsref/prop_loc_protocol.asp

Es ist ein jQuery-Plugin, das zu tun: jquery.applink.js

Verwandte Themen