Starten einer exe aus dem browser (Windows)
Muss ich starten Sie eine installierte Anwendung aus dem browser (nicht nur IE).
Vom diese thread habe ich verstanden, dass ich die Notwendigkeit zur Umsetzung asynchrone austauschbare Protokolle und registrieren einer Anwendung für die uri-Schema.
Ich würde gerne überprüfen, ob es irgendwelche anderen Möglichkeiten, es umzusetzen?
In meinem Szenario bin ich voraussichtlich starten Sie eine vorhandene Anwendung, die von der client-Maschine. So kann ich mich diesem Antrag an uri-Schema und verwenden Sie es.
Meine einzige Sorge ist in beiden Szenarien(oder zumindest das zweite Szenario) haben wir änderungen an der Registrierung vorzunehmen. Und wenn die registry-Einstellungen sind nicht vorhanden, das funktioniert nicht.
Gibt es eine andere Weise, die nicht davon abhängig, registry-Einstellungen oder irgendwelche Voraussetzungen.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In windows angegebene Protokoll für die Anwendung registriert werden können in der Registry.
In diesem msdn-doc zeigt die Registrierung einer Anwendung, um ein URI-Schema.
Beispielsweise ausführbare Dateien "alert.exe' gestartet werden. Die folgenden Artikel registriert werden können.
Dann schreiben Sie ein html-test
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Snip] @="URL:Snip Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\Snip\DefaultIcon] @="SnippingTool.exe,1" [HKEY_CLASSES_ROOT\Snip\shell] [HKEY_CLASSES_ROOT\Snip\shell\open] [HKEY_CLASSES_ROOT\Snip\shell\open\command] @="c:\\windows\\system32\\SnippingTool.exe"
für<a href="Snip:"> Snipping Tool </a>
Gibt es nicht eine Möglichkeit zu nennen, eine ausführbare Datei, die außerhalb des Browsers, ohne die Arten von Dinge, die Sie beschrieben (und ich würde wahrscheinlich verwenden Sie den Anwendungs-URI-Schema in Ihrem Ort, weil es die am wenigsten benutzerdefinierte Plug-in arbeiten Sie auf Ihrem Teil). Dies ist, weil, wenn Sie jede Anwendung, ohne dass der user erfordert eine Registrierung Bearbeiten oder einige Verwandte ändern, Sie könnten nichts tun, Sie wollte mit jeder Anwendung, die Sie wissen, wäre auf den Rechner. Es nennt sich sandboxing und HOWTO GEEK hat eine anständige Artikel auf es.
Als Sie zeigen, Sie sind bereits in einer sandbox, wenn Sie in den browser. Wenn Sie möchten, schreiben Sie eine Anwendung, die den Zugriff innerhalb es, Sie müssen die Arbeit innerhalb der Möglichkeiten und Beschränkungen von HTML, JavaScript, etc.
Vom eigenen MSDN-link Sie können sehen, dass auf Windows,
Ihre post scheint darauf hinzudeuten, dass Windows ist in der Tat Ihre entsprechenden Ziel-OS. Wenn Sie dies tun möchten, die auf einem anderen Betriebssystem (oder, wenn Sie jemand anderes liest diese Frage), die Methoden variieren von dem, was Sie bereits gefunden (diese sind bereits von Stack-Overflow-Fragen):
In der Theorie, Sie könnte plugins erstellen oder Konfiguration von Anwendungen, die spezifisch für jeden wahrscheinlich, browser, etwas zu tun, völlig custom. Jedoch, Sie würden das Rad neu erfinden, denn Sie müssten die gleichen Rechte Höhe zu installieren Sie Ihre app/plugin. Außerdem, würden Sie Sie erfinden das Protokoll erwähnt und irgendwie verteilen sich die Anwendung für die installation vor der Zeit.
Auch, manchmal sieht es aus wie Anwendungen sind problemlos Zugriff auf die Benutzer-browser-Erfahrung, wenn Sie neue web-Funktionen wie webcam-Zugriff und die Geolokalisierung genutzt wird. Was wir hier sehen, ist etwas neuer JavaScript-APIs anstelle von Flash-applets und andere Dinge, die wir verwendet, um die Nutzung durch 3rd-party-software.
webkitGetUserMedia
odermozGetUserMedia
je nach browser) ermöglicht die Verwendung von Medien vor der webcam und mic. Browser implementiert haben, einer Genehmigung eine Bestätigung vor, dass diese, aber die Anwendung ist noch eine JavaScript-app.navigator.geolocation.getCurrentPosition(show_map);
Es ist immer noch einfach eine JavaScript-Bibliothek. Wenn Sie es verwenden, diese Website erwähnt, hinzufügen von Fehlerbehandlung /fallback und so. Es ist verfügbar ab IE 9. Siehe diesen link für andere Browser.navigator.registerProtocolHandler
(mehr Lesen hier von Mozilla docs) Allerdings, neben der eingebauten Protokolle (E-Mail, zum Beispiel), Sie gehen, um zu suchen im Umgang mit der URI eine web-Anwendung auf derselben Domäne wie, wo bist du den Aufruf dieser Funktion. Zum einrichten eines handler, wo das Protokoll burger in den link<a href="burger:cheeseburger">this</a>
behandelt werden, könnten Sie schreiben:navigator.registerProtocolHandler("burger",
konnten Sie finden mehr Informationen auf der W3C-spec, einschließlich aus anderen Whitelist-Schemata, aber Sie würde tun müssen, eine Menge sorgfältige Auswahl von Browsern zu unterstützen und sicherzustellen, dass Ihre Zielgruppe können diese. Ich mag Referenz CanIUse, Wann immer ich will, um zu bestimmen, browser-Unterstützung. Es sieht aus wie Chrome und Firefox und der IE ist out."http://www.google.co.uk/?uri=%s",
"Burger handler");