2010-06-16 6 views
41

Est-il possible de lancer une application à partir d'un navigateur? Je ne parle pas d'ouvrir un fichier à partir d'un navigateur (comme ouvrir un fichier PDF avec Adobe Reader), mais plutôt d'ouvrir une nouvelle instance (vide) d'une application installée sur l'ordinateur de l'utilisateur.Comment lancer une application à partir d'un navigateur?

Situation hypothétique: L'utilisateur consulte un site Web répertoriant les ordinateurs pouvant être gérés via RDP. Il clique sur un lien vers 192.168.1.10, ce lien ouvre le client Microsoft RDP (mstsc.exe) avec cette adresse IP déjà remplie. Je ne parle que de l'univers Windows.

Est-ce que cette chose est même faisable en dehors d'ActiveX et IE?

Est-il sage de tenter cela dans IE avec ActiveX?

+0

http: // roblox .com est un site de jeu que chaque utilisateur doit installer son client et visiter leur site Web pour lancer le client du jeu. Donc, ils l'ont mis en place où ils lancent une application directement à partir de leur site. J'ai regardé à travers leur source et ils ne le font pas comme le dit Brendan ... – georgiaboy82

+0

@ georgiaboy82, en vérifiant si l'application installée ou non est le travail des développeurs frontend ou des développeurs backend? – SaiUnique

Répondre

5

Vous ne pouvez pas vraiment "lancer une application" dans le vrai sens. Vous pouvez, comme vous l'avez indiqué, demander à l'utilisateur d'ouvrir un document (c.-à-d. Un fichier PDF) et Windows tentera d'utiliser l'application par défaut pour ce type de fichier. De nombreuses applications ont un moyen de le faire.

Par exemple, vous pouvez enregistrer les connexions RDP en tant que fichier .rdp. Mettre un lien sur votre site à quelque chose comme cela devrait permettre à l'utilisateur de lancer directement dans une session RDP:

<a href="MyServer1.rdp">Server 1</a> 
+0

Je suis en train d'apprendre ce qu'est ActiveX et je pense qu'il peut être utilisé pour exécuter des applications dans un navigateur. Donc, cela ne devrait-il pas être possible? J'ai essayé de suivre ces instructions pour lancer Notepad à partir du navigateur, même si cela n'a pas fonctionné. http://www.codeproject.com/Articles/113678/How-to-execute-a-Local-File-using-HTML-Application – Celeritas

1

Nous utilisons un sonicwall vpn. Il lance une applet Java qui lance mstc avec toutes les configurations d'identification. Vous ne pouvez vraiment pas le faire sans une applet Java ou un plugin ActiveX.

Microsoft utilise cette technique sur son serveur de petite entreprise pour pénétrer dans le réseau. Je ne dirais pas que c'est une idée terrible, tant que l'indépendance de la plateforme n'est pas importante.

0

Certaines applications se lancent par des protocoles. comme itunes avec les liens "itms: //". Je ne sais pas comment vous pouvez l'enregistrer avec Windows.

+0

Je sais que ce fil est vieux, j'ai le même problème. Il y a des tonnes d'informations sur la façon d'installer les gestionnaires de protocole, mais je ne peux pas le faire au travail sur la machine de chaque utilisateur (l'informatique me tuerait littéralement ...) – nurchi

+0

vous ne devriez pas le faire manuellement sur la machine de chaque utilisateur . C'est ce que votre application devrait faire pendant le processus d'installation. – Mikhail

1

J'atteint la même chose en utilisant un serveur web local et PHP. J'ai utilisé un script contenant shell_exec pour lancer une application localement.

Sinon, vous pouvez faire quelque chose comme ceci:

<a href="file://C:/Windows/notepad.exe">Notepad</a> 
+18

Notez que 'shell_exec' exécutera des applications sur le serveur Web. Quant au lien, il entraîne généralement le téléchargement du fichier. –

-4

Vous pouvez utiliser les éléments suivants:

<a href="c:\windows\Notepad.exe" 
type="application/octet-stream">Launch Notepad</a> 

D'après ce que je me souviens en utilisant le fichier: // est bloqué par Chrome et Firefox.

+3

Cela va (inutilement) télécharger (copier) notepad.exe, pas l'exécuter. –

1

Vous pouvez utiliser SilverLight pour lancer une application à partir du navigateur (ceci ne fonctionnera que sur IE et Firefox, les versions plus récentes de chrome ne supportent pas)

Exemple Code here

Questions connexes