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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
9
0
4 756
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

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

Ответ принят как подходящий

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

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

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

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

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

Если я обманываю себя, мне бы хотелось, чтобы мне объяснили, в чем я ошибаюсь.

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

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

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

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

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

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

Использование маленького значка Adobe по сравнению со значком Internet Explorer для меня было похоже на pdf и html. Очень жаль, что IE напоминает мне HTML, но ... ну, что поделаешь?

Swati 18.09.2008 01:32

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