Создание объекта плагина#
Перед тем, как веб-страница сможет работать с плагином, она должна его инстанцировать, то есть создать объект плагина на странице. Инстанцирование осуществляется в зависимости от используемого браузера. Для упрощения этого процесса рекомендуется использовать специальный JavaScript. Далее описываются функции этого скрипта.
Для инстанцирования плагина нужно вызвать функцию createFactory, которая имеет следующие
параметры:
pluginName– имя плагина;mimeType– тип передаваемых данных;hostname– обратный домен нативного приложения, необходимый для корректного взаимодействия Chrome с плагином, например,ru.reaxoft.firewyrmhost;minVersion(опциональный параметр) – минимальная требуемая версия плагина в формате 1.0.0.0, например 1.7.0.0.
После приобретения плагина значения этих параметров предоставляются клиенту. Например, для использования плагина Федресурс: ЭП Плагин необходимо использовать следующие параметры:
pluginName:Fedresurs DS PluginmimeType:application/x-fedresurs-d-s-pluginhostname: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, описанный далее.