Quelle est la meilleure façon d'obtenir la version du lecteur Adobe en Javascript.Obtenir la version d'Adobe Reader en utilisant Javascript
1
A
Répondre
0
J'ai trouvé cela, mais il ne fonctionne que dans Internet Explorer
function CheckAdobeVersion() {
var isInstalled = false;
var version = null;
if (window.ActiveXObject) {
var control = null;
try {
// AcroPDF.PDF is used by version 7 and later
control = new ActiveXObject('AcroPDF.PDF');
} catch (e) {
// Do nothing
}
if (!control) {
try {
// PDF.PdfCtrl is used by version 6 and earlier
control = new ActiveXObject('PDF.PdfCtrl');
} catch (e) {
return;
}
}
if (control) {
isInstalled = true;
version = control.GetVersions().split(',');
version = version[0].split('=');
version = parseFloat(version[1]);
return version;
}
} else {
// Check navigator.plugins for "Adobe Acrobat" or "Adobe PDF Plug-in"*
}
}
Toute idée comment je pourrais le faire fonctionner dans Firefox ou Chrome?
Sp
1
J'ai modifié le code donné ci-dessus pour travailler avec les navigateurs non IE.
function CheckAdobeVersion() {
var isInstalled = false;
var version = null;
if (window.ActiveXObject) {
var control = null;
try {
// AcroPDF.PDF is used by version 7 and later
control = new ActiveXObject('AcroPDF.PDF');
} catch (e) {
// Do nothing
}
if (!control) {
try {
// PDF.PdfCtrl is used by version 6 and earlier
control = new ActiveXObject('PDF.PdfCtrl');
} catch (e) {
return;
}
}
if (control) {
isInstalled = true;
version = control.GetVersions().split(',');
version = version[0].split('=');
version = parseFloat(version[1]);
return version;
}
} else {
// Changes added in here
var plugins = navigator.plugins;
for(var i = 0; i < plugins.length; i++){
if (plugins[i].name === "Adobe Acrobat"){
version = plugins[i].version;
if(!version) {
version = plugins[i].description.split('"')[1];
}
return parseFloat(version);
}
}
}
}
Il utilise la propriété navigator.plugins
pour rechercher Adobe Reader. Cela fonctionne pour moi avec Firefox, Chrome, Safari et Opera, mais je l'ai seulement testé avec la version 9 de Reader.
Voir la version live: http://jsfiddle.net/EGbY5/3/
Cela devrait être ajouté à la question initiale d'une édition. La raison évidente pour cela ne fonctionne pas sur tout ce qui n'est pas IE, car il utilise ActiveX, qui est la technologie IE propriétaire, donc "faire ce travail sur un autre navigateur" n'est pas une option - vous avez besoin d'une approche totalement différente. –