Как определить, может ли браузер пользователя просматривать PDF-файлы

StackOverflow https://stackoverflow.com/questions/76179

Вопрос

Каков наилучший способ определить, может ли браузер пользователя просматривать PDF-файлы?

В идеале это не должно иметь значения ни в браузере, ни в операционной системе.

Есть ли конкретный способ сделать это в ASP.NET, или ответом будет просто JavaScript?

Это было полезно?

Решение

Ни то, ни другое, не пытайтесь.

Ре доннерд:Обнаружение подключаемых модулей - это неправильный ответ.У меня не установлен плагин PDF в моем браузере (Firefox в Ubuntu), но я могу просматривать PDF-файлы с помощью программы просмотра документов операционной системы (которая не является Acrobat Reader).

Сегодня любая операционная система, которая может запускать веб-браузер, может просматривать PDF-файлы "из коробки".

Если в конкретной системе не установлен просмотрщик PDF и браузер не настроен для его использования, это, скорее всего, означает, что либо это самодельная установка Windows, сильно урезанная альтернативная операционная система, либо что-то действительно ретро.

Разумно предположить, что в любой из этих ситуаций пользователь будет знать, что такое PDF-файл, и либо намеренно решит не иметь возможности его просматривать, либо будет знать, как установить необходимое программное обеспечение.

Если я обманываю себя, я бы с удовольствием, если бы мне объяснили, в чем я не прав.

Другие советы

Быстрый поиск в Google нашел это.Полезно для всех видов плагинов.

Есть пользователи, которые предпочитают не открывать PDF-файлы в браузере и отключают плагин (это позволяет открывать файл в собственном приложении вне окна браузера).Лучше сообщить пользователю, что для открытия чего-либо требуется программное обеспечение (будь то PDF или нет), чем пытаться определить, доступен ли плагин.

Другая проблема с обнаружением заключается в том, что вам нужно искать изменения от версии к версии (например, см.:"PDF.PdfCtrl.*" против "AcroPDF.PDF.*" для Adobe PDF viewer) и различных реализаций браузера (ранее упомянутые строки используются, например, в IE, в то время как Firefox использует совершенно другой способ обнаружения.Тогда нам нужно подумать об Opera и Safari и ???).Кроме того, существуют разные поставщики (например, Foxit и Ghostscript, хотя я не уверен, предоставляют ли они плагин для браузера), где могут быть различия в обнаружении плагина.

Сценарий, написанный в 2008 году, и некоторая дополнительная информация об оговорках приведены в разделе Обнаружение плагинов в Internet Explorer (и несколько советов для всех остальных).

После первоначального игнорирования рекомендаций на этой странице архитектор продолжил работу с обнаружением Acrobat, вызвав неизбежный кошмар со службой поддержки.

Как упоминает ddaa, не все сценарии могут быть точно зафиксированы с помощью Plug-in detection.Некоторые пользователи, например, могут выбрать просмотр PDF-файлов с помощью FoxIt Reader, а не acrobat.Браузеры некоторых пользователей не помечают, что они готовы к работе с Acrobat, и, конечно, не всегда таким же образом.

Лучшим решением было бы предоставить пользователю выбор того, как он хотел бы просматривать соответствующий документ.Лично мне не нравится, когда какой-либо веб-сайт полагается на подключаемый модуль - это портит красоту Интернета.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top