从浏览器检测是否安装了特定的应用程序
我们有一个高级网页(ASP.NET,C#),并且需要在客户端计算机上安装一个应用程序,以便充分利用该网页。该应用程序是一个托盘应用程序,主要有两个任务。检测Web服务器上何时发生某些事件(例如,受邀参加会议或通知即将举行的会议)。trayapp的另一项任务是使用自定义协议(trayapp://)执行一些对服务器的Ajax调用。
我们遇到的一个问题是如何确定应用程序是否安装在本地计算机上。现在,用户必须选中一个复选框以通知网站该应用程序已安装,并且可以安全地调用trayapp://
url调用。
是否可以通过JavaScript或类似方法检测我们的应用程序是否安装在本地计算机上?
该检查需要对IE,FF和Opera浏览器有效。
回答:
如果要在浏览器中使用javascript进行检测,则可以使用集合“
navigator.plugins”。它适用于Firefox,Opera和Chrome,但不幸的是不适用于IE。
更新:在FF,Opera和Chrome中,您可以像这样轻松地对其进行测试:
if (navigator.plugins["Adobe Acrobat"]) {// do some stuff if it is installed
} else {
// do some other stuff if its not installed
}
更新#2:如果它是IE中的ActiveX对象,则可以使用以下方法测试它是否存在:
function getActiveXObject(name){ try{
return new ActiveXObject(name);
}
catch(err){
return undefined;
}
};
IE的另一种方法类似于JohnFx所建议的(我在这里找到它并且没有对其进行测试):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\InternetSettings\User Agent\Post Platform
以上是 从浏览器检测是否安装了特定的应用程序 的全部内容, 来源链接: utcz.com/qa/416490.html