2012-03-15 8 views
6

Utilizziamo Google Apps nella nostra azienda e tutti hanno installato Chrome sui loro computer. Il problema è che dobbiamo ancora usare IE per certe cose. Ho alcuni file html sul nostro sito intranet che collegano a Google Docs, ma si sta aprendo in un browser IE. Mi serve per aprire un browser Chrome in modo che l'utente non debba accedere ogni volta che apre il file. Ho solo il controllo delle impostazioni dei file html quindi c'è un modo per usare Javascript per forzare l'apertura di una finestra in Chrome?codice Javascript per forzare l'apertura della pagina html nel browser Chrome?

Grazie!

risposta

-1

Stai chiedendo se è possibile aprire una finestra di Chrome da Javascript in una finestra di IE? Se è così, allora no, questo non è possibile. Il codice Javascript nei browser viene eseguito in una sandbox molto rigida che non consente di effettuare chiamate di sistema. L'apertura di una finestra di Chrome da IE richiede effettivamente di eseguire chrome.exe sul computer del cliente. Sono sicuro che puoi vedere come questa capacità, se concessa, potrebbe essere utilizzata in modo improprio per eseguire file dannosi sul sistema del cliente.

+0

Possono invece usare ActiveX, come suggerisce la mia risposta. – AlanFoster

-1

Verificare se il browser corrente è Chrome:

var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; 

se non, l'utente avviso per mostrare un messaggio.

-1

Sono sicuro che il meglio che puoi fare usando JavaScript è mostrare un messaggio all'utente e dire loro di aprire il file in Chrome. JavaScript non ha il diritto di eseguire un'applicazione esterna come Chrome. Vedere http://www.w3schools.com/js/js_browser.asp per informazioni su come rilevare il browser utilizzando JavaScript.

+0

Possono invece usare ActiveX, come suggerisce la mia risposta. – AlanFoster

4

Credo che se si utilizza IE è possibile utilizzare ActiveX per aprire programmi specifici.

Per esempio provare a guardare 'new ActiveXObject'

è necessario abilitare esplicitamente questo però, come conferma IE se si vuole permettere che venga eseguito.

function loadProg(path){ 
    var active = new ActiveXObject("WScript.Shell"); 
    activeX = active.Run(path); 
} 

Se si conosce il diretto utilizzo percorso del file presente come

loadProg(path); 

Più in particolare, come

window.onload = function(){ 
    loadProg("\"C:\\Program Files (x86)\\Guitar Pro 5\\GP5.exe\""); 
}; 

non so il percorso di Chrome così ho usato qualcos'altro.

+1

I plug-in casuali ActiveX sono spesso bloccati o severamente limitati dalle impostazioni di sicurezza. Se fossi io, rileverò semplicemente che non si tratta di Chrome e chiediamo all'utente di aprire Chrome e di non scherzare con ActiveX. Sì, se riesci a far funzionare il plug-in ActiveX, potrebbe aprire Chrome direttamente. – jfriend00

+0

@ jfriend00 IE supporta questo, anche IE9. Richiede semplicemente all'utente prima di eseguirlo. Non so quale tipo di restrizioni di sicurezza siano applicate ai loro utenti, sono sicuro che questo sarebbe notato durante un test di base dei loro casi d'uso, quindi ho suggerito questa risposta come fa esattamente ciò che richiede. – AlanFoster

+0

IE dispone di questo sistema di sicurezza zonale che viene spesso gestito dall'IT per impedire agli utenti di spararsi ai loro piedi accettando in alcuni casi plug-in ActiveX dannosi. Può o non può essere configurato per consentire a questo tipo di plug-in di funzionare. Sto semplicemente offrendo la mia opinione che non andrei in questo modo. Non ho fatto un downvote o ho detto che non era una risposta, semplicemente esprimendo la mia opinione che mi è stato permesso di fare. – jfriend00

Problemi correlati