2008-10-09 12 views

Répondre

10

navigator.plugins[n].namen est l'index du plugin Acrobat qui est supposé contenir le numéro de version. Malheureusement, en commençant par Adobe Reader 8, ils ont changé le nom en "Adobe PDF Plug-In for Firefox and Netscape", sans aucune information sur la version. Donc, si c'est le nom que vous avez détecté au moins Reader 8, mais ne peut pas dire versions 8 de 9.

Aussi, assurez-vous que les Mac n'ont pas besoin d'Acrobat Reader pour afficher des fichiers PDF . (Je démarrais ma partition Windows juste pour tester.)

+0

Bonne réponse. Est-ce disponible sur Internet Explorer ou est-ce qu'une méthode différente est nécessaire? –

+0

Bon conseil sur les Mac, mais cette solution a le même problème que celle de SWFObject, la description pour Adobe Acrobat n'inclut pas de numéro de version. – Snocrash

+0

En ce qui concerne le commentaire IE, cette méthode de description peut être utilisée pour d'autres plugins sur IE, mais un moyen plus fiable consiste à créer un ActiveXObject comme décrit ici: http://www.builtfromsource.com/tag/safari/ – Snocrash

2

Il devrait être possible de le faire comme SWFObject détecte version flash:

SWFObject source code

+0

Je l'aurais dit si vous ne l'aviez pas fait - SWFObject facilite la vie de milliers de développeurs web, une inclusion à la fois. –

+0

Bon conseil, je n'avais pas pensé y chercher, mais malheureusement ça ne marche que parce que la description de navigator.plugins ['Shockwave Flash']. Contient en réalité le numéro de version. Adobe Acrobat ne fait pas cela, la seule chose dans leur description est "Adobe PDF Plug-In pour Firefox et Netscape". – Snocrash

0
var p = document.getElementById('Pdf1'); 
//p.GetVersions() 
if(p.GetVersions().indexOf("7.0") != -1) 
    alert("Acrobat 7 Found") 
+0

Quel est l'élément avec l'ID 'Pdf1' censé être? S'il vous plaît, expliquez. –

0
var browser_info = { 
    name: null, 
    acrobat : null, 
    acrobat_ver : null 
    }; 


if(navigator.plugins != null) 
    {  
    var acrobat = navigator.plugins['Adobe Acrobat']; 
    if(acrobat == null) 
    {   
    browser_info.acrobat = null; 
    return browser_info; 
    } 
    browser_info.acrobat = "installed"; 
    browser_info.acrobat_ver = parseInt(acrobat.version[0]);     
    } 


where navigator is the property of Window