2010-09-13 62 views
0

MS Windows的程序可以将一些协议与它们相关联。所以当你点击浏览器时,将会打开注册程序“myprotocol”。像“mailto:[email protected]”打开你的电子邮件程序。使用IE从网页中检测Windows中的注册协议

我有一个网站,想知道我的网站的访问者是否在他的系统中注册了一些协议。因此,当他点击链接并没有协议注册一些页面,如“请安装我的程序”。否则注册程序启动。我如何用javascript或avtiveX或其他东西来做到这一点?

我知道如何为Firefox和Crome(使用“位置”标头和iframe)做到这一点,但不知道如何为IE和Opera做到这一点。请帮帮我。

+0

你能澄清你如何在Firefox/Chrome浏览器拦截呢?我认为ActiveX是你唯一的选择,因为浏览器倾向于尝试保护JavaScript,而不是让它像你想要的那样访问信息。 – palswim 2010-09-13 20:44:07

回答

0

我曾经做过这类事情。我在安装程序中使用与Scripting.Dictionary相同的CLSID在HKEY_CLASSES_ROOT中注册了MyProgram.IsInstalled密钥。然后,在JavaScript中,我试图做一个var isInstalled = new ActiveXObject("MyProgram.IsInstalled");。如果它工作,我的程序已安装(并且我有一个方便的新Scripting.Dictionary实例,我立即扔掉)。如果没有,那就不是。