我的web應用程序需要檢測我們的桌面應用程序是否安裝在用戶的PC上。 (這個應用程序是通過自定義應用程序協議從網絡應用程序啓動的。)我們目前有一個「hack-ish」方法,但它在IE10中被破解。做一些研究,我遇到了這篇文章。有沒有人得到JavaScript msProtocols屬性在IE10中工作?
向底部,它說明了如何在Windows 8 IE10 &,你現在可以檢測爲使用JavaScript特定的應用程序協議處理程序。更多細節可以在這個站點找到:msProtocols property。根據實例,我應該可以做這樣的事情:
if (navigator.msProtocols["myProtocol"]) {
location.href = "myProtocol://<Some path under the myProtocol protocol>";
} else {
// Fallback code for when the "myProtocol" protocol doesn’t exist.
}
我試圖得到這個工作,但失敗了。即使使用調試器,並查看導航器對象,也沒有msProtocols屬性。
有沒有人能夠得到這個工作?
找出我自己的問題。應該是我檢查的第一件事情之一,但我的瀏覽器模式和文檔模式設置不正確。一旦我將它們設置爲IE10 - 標準,一切都很好用! – 2012-03-19 17:44:33