| Article: |
Plug-In Detection with JavaScript | |
| Subject: | Detecting Acrobat Reader | |
| Date: | 2005-05-29 06:59:36 | |
| From: | eyalib | |
|
Response to: Detecting Acrobat Reader
|
||
Showing messages 1 through 1 of 1.
| Article: |
Plug-In Detection with JavaScript | |
| Subject: | Detecting Acrobat Reader | |
| Date: | 2005-05-29 06:59:36 | |
| From: | eyalib | |
|
Response to: Detecting Acrobat Reader
|
||
Showing messages 1 through 1 of 1.
function PDF_Check (URLStr) {
var displayString;
var acrobat=new Object();
acrobat.installed=false;
acrobat.version='0.0';
if (navigator.plugins && navigator.plugins.length) {
for (x=0; x<navigator.plugins.length;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;
displayString = 'Acrobat Version: '+acrobat.version;
break;
} else if (navigator.plugins[x].description.indexOf('Adobe PDF Plug-In') != -1) {
acrobat.installed=true;
acrobat.version ='8+';
displayString = 'Acrobat Version 8 or Above';
}
}
} 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';
displayString = 'Acrobat Version: '+acrobat.version;
}
}
catch(e) {}
}
try
{
oAcro4=new ActiveXObject('PDF.PdfCtrl.1');
if (oAcro4)
{
acrobat.installed=true;
acrobat.version='4.0';
displayString = 'Acrobat Version: '+acrobat.version;
}
}
catch(e) {}
try
{
oAcro7=new ActiveXObject('AcroPDF.PDF.1');
if (oAcro7)
{
acrobat.installed=true;
acrobat.version='7.0';
displayString = 'Acrobat Version: '+acrobat.version;
}
}
catch(e) {}
}
if (! displayString) { //do sthg, no acrobat available } else { //acrobat is installed, go ahead and show your pdf}
displayString = 'Acrobat Installed: Information Not Available';
}
</code>
this code will detect all acrobat versions up to this time on MS boxes. Mac users will have to take care of themselves, sorry :)