小编典典

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

ajax

我们有一个高级网页(ASP.NET,C#),并且需要在客户端计算机上安装一个应用程序,以便充分利用该网页。该应用程序是一个托盘应用程序,主要有两个任务。检测Web服务器上何时发生某些事件(例如,受邀参加会议或通知即将举行的会议)。trayapp的另一项任务是使用自定义协议(trayapp://)执行一些对服务器的Ajax调用。

我们遇到的一个问题是如何确定应用程序是否安装在本地计算机上。现在,用户必须选中一个复选框以通知网站该应用程序已安装,并且可以安全地调用trayapp://
url调用。

是否可以通过JavaScript或类似方法检测我们的应用程序是否安装在本地计算机上?

该检查需要对IE,FF和Opera浏览器有效。


阅读 663

收藏
2020-07-26

共1个答案

小编典典

如果要在浏览器中使用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
2020-07-26