這裏是爲IE和FF中的所有版本檢測Acrobat的代碼。最關鍵的是,它並使用檢測的版本:那麼一點點的定製,你可以使用類似的檢測版本的東西
oAcro=eval("new ActiveXObject('PDF.PdfCtrl."+x+"');");
if (oAcro)
{
acrobat.installed=true;
acrobat.version=x+'.0';
}
。
下面是完整的代碼:
var acrobat=new Object();
acrobat.installed=false;
acrobat.version='0.0';
if (navigator.plugins && navigator.plugins.length)
{
for (x=0; x
{
if (navigator.plugins[x].description.indexOf('Adobe Acrobat') != -1)
{
acrobat.version=parseFloat(navigator.plugins[x].description.split('Version ')[1]);
if (acrobat.version.toString().length == 1) acrobat.version+='.0';
acrobat.installed=true;
break;
}
}
}
else if (window.ActiveXObject)
{
for (x=2; x<10; x++)
{
try
{
oAcro=eval("new ActiveXObject('PDF.PdfCtrl."+x+"');");
if (oAcro)
{
acrobat.installed=true;
acrobat.version=x+'.0';
}
}
catch(e) {}
}
try
{
oAcro4=new ActiveXObject('PDF.PdfCtrl.1');
if (oAcro4)
{
acrobat.installed=true;
acrobat.version='4.0';
}
}
catch(e) {}
try
{
oAcro7=new ActiveXObject('AcroPDF.PDF.1');
if (oAcro7)
{
acrobat.installed=true;
acrobat.version='7.0';
}
}
catch(e) {}
}
看到http://www.oreillynet.com/cs/user/view/cs_msg/4055瞭解更多詳情。
不幸的是,這不會做我在找什麼。 Adobe改變了從版本8開始標籤Acrobat插件的方式,所以版本信息不再包含在內。使用此方法甚至不會捕獲版本8或9,因爲描述已更改爲「Adobe PDF Plug-In For Firefox和Netscape」。 我知道Firefox可以從某處檢測到插件版本,因爲它在您查看已安裝的插件時顯示。我只是不知道這些數據是否可以通過JavaScript訪問,因爲我無法在DOM中的任何地方找到它。 – bluehazetech 2010-02-22 15:03:44