从浏览器检测是否安装了特定的应用程序

我们有一个高级网页(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\Internet

Settings\User Agent\Post Platform

以上是 从浏览器检测是否安装了特定的应用程序 的全部内容, 来源链接: utcz.com/qa/416490.html

回到顶部