web 網站中使用了第三方協議,點擊該連結的時候會打開一個第三方程序,但是前提是用戶 PC 上裝有該程序。
如果沒有安裝,則沒有任何提示。現在需要檢測。
目前可行的方法是讀取特定的登錄值,在 IE
中是可以的,程式碼如下(WarnOnOpen
為測試用的):
try {
var shell = new ActiveXObject("WScript.Shell");
var ChatCallerKey=shell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute\WPC\WarnOnOpen");
alert("该值注册表中已存在");
} catch (e) {
alert("注册表中不存在该值");
}
但是在 Chrome
和 Firefox
中怎麼搞?
或是有沒有別的什麼方法可以做這種檢測?
ActiveXObject插件是IE所特有的,在不同瀏覽器核心下是無法通用的。