Я знаю, что это можно сделать в IE, создав объект ActiveX, но как это сделать в FF. Объект navigator.plugins ['Adobe Acrobat'] позволяет узнать, установлен ли он или нет, но он не содержит номер версии. Есть идеи?Как определить версию Adobe Acrobat, установленную в Firefox с помощью JavaScript
3
A
ответ
10
navigator.plugins[n].name
, где n
- это индекс плагина Acrobat, который должен иметь номер версии в нем. К сожалению, начиная с Adobe Reader 8, они сменили имя на "Adobe PDF Plug-In for Firefox and Netscape"
без информации о версии. Итак, если это имя, которое вы обнаружили, по крайней мере, Reader 8, но не можете сказать версии 8 из 9.
Кроме того, убедитесь, что вы учли, что Mac не требуется Acrobat Reader для рендеринга PDF-файлов , (Я загрузился мой раздел Windows, просто чтобы проверить это.)
2
Должна быть возможность сделать это как SWFObject определяет версию флэш-памяти:
0
var p = document.getElementById('Pdf1');
//p.GetVersions()
if(p.GetVersions().indexOf("7.0") != -1)
alert("Acrobat 7 Found")
3
0
Этот сценарий обнаруживает читатель во всех браузерах - даже обнаруживает PDF-считыватель Chrome ...
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
Отличный ответ. Является ли это доступным для IE или другим методом? – 2008-10-09 16:23:14
Хороший совет о Mac, но это решение имеет ту же проблему, что и SWFObject, описание для Adobe Acrobat не включает номер версии. – Snocrash 2008-10-09 18:39:51
Что касается комментария IE, этот метод описания может использоваться для других плагинов в IE, но более надежным способом является создание объекта ActiveXObject, как описано здесь: http://www.builtfromsource.com/tag/safari/ – Snocrash 2008-10-09 18:45:31