我們在我們公司使用Google Apps,並且每個人都在他們的計算機上安裝了Chrome。問題是,我們仍然必須使用IE瀏覽器進行某些操作。我在內部網站上有幾個鏈接到Google文檔的html文件,但它在IE瀏覽器中打開。我需要它來打開Chrome瀏覽器,以便用戶在每次打開文件時都不必登錄。我只有HTML文件設置的控制,所以有什麼方法可以使用Javascript強制在Chrome中打開一個窗口?JavaScript代碼強制HTML頁面在Chrome瀏覽器中打開?
謝謝!
我們在我們公司使用Google Apps,並且每個人都在他們的計算機上安裝了Chrome。問題是,我們仍然必須使用IE瀏覽器進行某些操作。我在內部網站上有幾個鏈接到Google文檔的html文件,但它在IE瀏覽器中打開。我需要它來打開Chrome瀏覽器,以便用戶在每次打開文件時都不必登錄。我只有HTML文件設置的控制,所以有什麼方法可以使用Javascript強制在Chrome中打開一個窗口?JavaScript代碼強制HTML頁面在Chrome瀏覽器中打開?
謝謝!
你問是否可以在IE窗口中使用Javascript打開Chrome窗口?如果是這樣,那麼不,這是不可能的。瀏覽器中的Javascript代碼在非常嚴格的沙箱中運行,不允許您進行任何系統調用。從IE打開Chrome窗口將有效地要求您在客戶機上執行chrome.exe
。我相信你可以看到這個能力如果被授權可能被濫用在客戶端系統上執行惡意的exe。
檢查當前的瀏覽器是Chrome瀏覽器:
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
如果沒有,警惕用戶顯示一條消息。
我確定使用JavaScript所能做的最好的是向用戶顯示一條消息,告訴他們在Chrome中打開文件。 JavaScript無權執行Chrome等外部應用程序。有關使用JavaScript檢測瀏覽器的信息,請參閱http://www.w3schools.com/js/js_browser.asp。
他們可以使用ActiveX來代替,就像我的答案所暗示的那樣。 – AlanFoster 2012-03-15 16:09:19
我相信如果您使用IE,您可以使用ActiveX來打開特定的程序。
例如嘗試尋找「新的ActiveXObject」
必須明確允許這種但是,如果你想允許它執行爲IE確認。
function loadProg(path){
var active = new ActiveXObject("WScript.Shell");
activeX = active.Run(path);
}
如果您知道直接的文件路徑使用這個喜歡
loadProg(path);
更特別喜歡
window.onload = function(){
loadProg("\"C:\\Program Files (x86)\\Guitar Pro 5\\GP5.exe\"");
};
我不知道路徑到Chrome瀏覽器,所以我用別的東西來代替。
隨機ActiveX插件通常被安全設置阻止或嚴重限制。如果這是我,我只會檢測到這不是Chrome,並提示用戶打開Chrome瀏覽器,而不是混淆了ActiveX。是的,如果你可以讓你的ActiveX插件運行,它可以直接打開Chrome。 – jfriend00 2012-03-15 16:12:28
@ jfriend00 IE支持這個,甚至IE9。它只是在執行之前提示用戶。我不知道他們的用戶有什麼樣的安全限制,但我相信這會在他們的用例的基本測試中被注意到,所以我已經提出這個答案,因爲它確實如他所要求的那樣。 – AlanFoster 2012-03-15 16:14:39
IE有這種經常由IT管理的區域安全系統,以防止用戶在某些情況下通過接受有害的ActiveX插件而自己拍攝自己。它可能會或可能不會被配置爲允許這種類型的插件工作。我只是提出我的意見,我不會這樣做。我沒有倒下或者說這不是一個答案,只是表達我允許我做的觀點。 – jfriend00 2012-03-15 16:31:15
他們可以使用ActiveX來代替,就像我的答案所暗示的那樣。 – AlanFoster 2012-03-15 16:10:18