2010-09-13 85 views
0

MS Windows的程序可以將一些協議與它們相關聯。所以當你點擊瀏覽器時,將會打開註冊程序「myprotocol」。像「mailto:[email protected]」打開你的電子郵件程序。使用IE從網頁中檢測Windows中的註冊協議

我有一個網站,想知道我的網站的訪問者是否在他的系統中註冊了一些協議。因此,當他點擊鏈接並沒有協議註冊一些頁面,如「請安裝我的程序」。否則註冊程序啓動。我如何用javascript或avtiveX或其他東西來做到這一點?

我知道如何爲Firefox和Crome(使用「位置」標頭和iframe)做到這一點,但不知道如何爲IE和Opera做到這一點。請幫幫我。

+0

你能澄清你如何在Firefox/Chrome瀏覽器攔截呢?我認爲ActiveX是你唯一的選擇,因爲瀏覽器傾向於嘗試保護JavaScript,而不是讓它像你想要的那樣訪問信息。 – palswim 2010-09-13 20:44:07

回答

0

我曾經做過這類事情。我在安裝程序中使用與Scripting.Dictionary相同的CLSID在HKEY_CLASSES_ROOT中註冊了MyProgram.IsInstalled密鑰。然後,在JavaScript中,我試圖做一個var isInstalled = new ActiveXObject("MyProgram.IsInstalled");。如果它工作,我的程序已安裝(並且我有一個方便的新Scripting.Dictionary實例,我立即扔掉)。如果沒有,那就不是。