Создание объекта плагина#
Перед тем, как веб-страница сможет работать с плагином, она должна его инстанцировать, то есть создать объект плагина на странице. Инстанцирование осуществляется в зависимости от используемого браузера. Для упрощения этого процесса рекомендуется использовать специальный JavaScript. Далее описываются функции этого скрипта.
Для инстанцирования плагина нужно вызвать функцию createFactory
, которая имеет следующие
параметры:
pluginName
– имя плагина;mimeType
– тип передаваемых данных;hostname
– обратный домен нативного приложения, необходимый для корректного взаимодействия Chrome с плагином, например,ru.reaxoft.firewyrmhost
;minVersion
(опциональный параметр) – минимальная требуемая версия плагина в формате 1.0.0.0, например 1.7.0.0.
После приобретения плагина значения этих параметров предоставляются клиенту. Например, для использования плагина Федресурс: ЭП Плагин необходимо использовать следующие параметры:
pluginName
:Fedresurs DS Plugin
mimeType
:application/x-fedresurs-d-s-plugin
hostname
:ru.fedresurs.firewyrmhost
Функция createFactory
возвращает функцию, необходимую для создания плагина на странице. При
вызове этой функции в качестве параметров следует указать:
функцию, которую необходимо выполнить при успехе создания плагина;
функцию, которую необходимо выполнить при ошибке создания плагина. Данная функция в качестве первого параметра принимает код ошибки, второго – описание ошибки, третьего и последующих – функции, вызываемые в зависимости от типа ошибки.
При создании плагина возможны следующие ошибки:
plugin_not_available
– плагин не установлен (или не разрешен запуск), в этом случае необходимо рекомендовать пользователю установить плагин. Также данная ошибка возможна и в случае попытки обращения к плагину версии1.5.0.0
из Firefox версии52
и выше – обновление плагина до версии1.6.0.0
и выше решает эту проблему. В качестве третьего параметра передается функцияwaitingPluginCb
, позволяющая перейти в режим ожидания установки плагина;plugin_not_allowed
– плагин заблокирован браузером, в этом случае необходимо рекомендовать пользователю разблокировать плагин. В качестве третьего параметра передается функцияwaitingAllowCb
, позволяющая перейти в режим ожидания разблокирования плагина;chrome_extension_not_available
– не установлено или не доступно расширение для Chrome, необходимое для работы плагина. В этом случае следует рекомендовать пользователю установить расширение, предоставив ссылку для перехода на страницу плагина (второй параметр). В качестве третьего параметра передается функцияwaitingExtensionCb
, позволяющая перейти в режим ожидания установки плагина;firefox_extension_not_available
– не установлено или недоступно расширение для Firefox (версии 52 и выше), необходимое для работы плагина. В этом случае следует рекомендовать пользователю установить расширение, предоставив ссылку для перехода на страницу плагина — второй параметр (ссылка временно недоступна, поскольку расширение пока не прошло процесс рецензирования для выкладывания на официальном сайте Firefox). В качестве третьего параметра передается функцияwaitingExtensionCb
, позволяющая перейти в режим ожидания установки плагина. В качестве четвертого параметра можно указать URL на загрузку расширения с сайта производителя плагина (Identityblitz.ru). Поскольку расширение может быть установлено только по явному нажатию по ссылке, то в качестве пятого параметра следует указать функцию для установки расширения;plugin_not_valid
– плагин установлен, но работает некорректно, в этом случае необходимо рекомендовать пользователю обратиться к администратору (детальное описание ошибки передается во втором параметре);plugin_old_version
– старая версия плагина, текущая версия плагина передается в качестве второго параметра.
Результатом успешного выполнения функции создания плагина будет java-объект plugin
, описанный далее.