Сценарий браузера IE, чтобы определить, какой (если есть) элемент управления ActiveX будет обрабатывать определенный тип MIME - PullRequest
7 голосов
/ 16 мая 2010

Я пытаюсь выяснить в сценарии IE (javascript или vbscript), какой элемент управления ActiveX будет обрабатывать определенный тип MIME, в данном случае «image / tiff». Это легко сделать в других браузерах, использующих плагины с;

navigator.mimeTypes [ "изображение / TIFF"]. EnabledPlugin.name

, который возвращает что-то вроде

Плагин QuickTime X.X.X

Я нашел множество примеров, чтобы сказать, загружен ли определенный элемент управления ActiveX, но так как есть несколько доступных элементов управления ActiveX, которые могут обрабатывать образы TIFF, мне нужно знать, какие из них, если таковые имеются, зарегистрированы для обработки этого типа MIME.

Проблема, с которой я пытаюсь разобраться, заключается в том, что QuickTime всегда хочет зарегистрироваться в качестве программы просмотра TIFF по умолчанию, но делает это ужасно, что приводит к большому количеству обращений в службу поддержки. К сожалению, просто определить, что QuickTime установлен, недостаточно, поскольку у пользователя также может быть установлен другой просмотрщик TIFF (например, Alternatiff) в качестве средства просмотра TIFF по умолчанию, или пользователь может настроить QuickTime, чтобы он не был средством просмотра TIFF по умолчанию, поэтому браузер может использовать вспомогательное приложение для отображения изображения.

Не значит быть трудным, но прежде чем кто-либо предложит реинжиниринг обходных путей;

  • да, я знаю, что мог бы заставить пользователя использовать определенный просмотрщик ActiveX в IE или использовать просмотрщик tiff Java, но я бы предпочел позволить им использовать средство просмотра по своему выбору, а не заставлять его устанавливать средство просмотра по своему выбору тем более что их вьюер может быть вспомогательным приложением, которое загружает изображение в рабочий процесс в офисе
  • да, я знаю, что есть другие форматы изображений, которые я мог бы использовать, но TIFF является стандартом де-факто для формирования изображений документов, и именно это предпочитает использовать подавляющее большинство этих пользователей. Проблема не в формате изображения, а в том, что QuickTime просто не вырезает его как средство просмотра TIFF

Заранее спасибо за любые предложения или решения ...

1 Ответ

2 голосов
/ 03 сентября 2010

По крайней мере, с текущими возможностями Internet Explorer, почти невозможно достичь поставленной цели с помощью Javascript.

Однако IE также поддерживает VBScript и подписанные элементы управления ActiveX. Вы можете использовать их для создания виджета на стороне клиента, чтобы получить привязку MIME-типа по умолчанию непосредственно из реестра. Windows хранит их в «HKEY_LOCAL_MACHINE \ Software \ CLASSES \». RFC2936 - Обнаружение обработчика типа HTTP MIME дает аналогичное предложение и даже имеет пример кода.

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

Надеюсь, это поможет вам двигаться в правильном направлении.

...