Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.05.2015(UTC) Сообщений: 32 Поблагодарили: 3 раз в 3 постах
|
Пример работы с PPAPI версией плагина с установленным в Chrome 43 расширением на демостранице http://www.cryptopro.ru/...nc_cades_bes_sample.html работает верно, если не считать, вероятно, забытого отладочного сообщения в консоли "Connect to background page". (Extension 1.0.2, Plugin 2.0.2101) Однако есть проблема с автоматической инициализацией плагина, то есть не по кнопке на странице, а сразу после загрузки страницы. Например, если добавить на эту демостраницу в тег body <body onload="CheckForPlugIn('isPlugInEnabled')"> то с первого раза (сразу после старта браузера) плагин никогда не загружается. То же самое при вызове из $(document).ready в jQuery. Эксперимены показывают, что в первый раз в течение некоторого времени даже после того как страница полностью загружена, выполнение строки var PluginObject = yield CreatePluginObject(); в функции CheckForPlugIn просто прерывается, то есть ни вызывает исключения, ни выполняется дальше. Если отложить вызов CheckForPlugIn с помощью setTimeout примерно на пол-секунды, то срабатывает всегда как и по кнопке, если менше - появляется нестабильная работа. Но компьютеры у всех разные, на скорость рассчитывать нельзя. Каким образом правильно загрузить PPAPI плагин вместе со страницей, и определить что он загрузился и готов к работе, чтобы так же автоматически выполнить зависящие от него действия?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 27.05.2015(UTC) Сообщений: 10 Откуда: Санкт-Петербург Сказал(а) «Спасибо»: 1 раз
|
Присоединяюсь к вопросу. Аналогичная проблема.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
К сожалению в данный момент Chrome не предоставлять возможности узнать подгрузил он к странице расширение или нет. И судя по опыту делает он это сильно в последнюю очередь при первичной загрузке страницы. Именно из-за этого загрузка на демостранице сделана по отдельному нажатию на кнопку. Как обходной вариант этого думаем над созданием специального эвента который будет прилетать и в DOM о загрузке расширения. |
|
1 пользователь поблагодарил Анатолий Беляев за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.05.2015(UTC) Сообщений: 32 Поблагодарили: 3 раз в 3 постах
|
Автор: cross думаем над созданием специального эвента который будет прилетать и в DOM о загрузке расширения. Да, что-то вроде этого нужно обязательно! В реальном приложении нужно точно знать когда окружение готово к работе. И еще исправьте пожалуйста косяки с функциями PrintDigit и Print2Digit У вас в nmcades_plugin_api.js объявлена Print2Digit, а кроме нее используется точно такая же PrintDigit, объявленная в async_code.js То есть плагин без примера работать не будет ;) Отредактировано пользователем 29 мая 2015 г. 10:45:10(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.05.2015(UTC) Сообщений: 32 Поблагодарили: 3 раз в 3 постах
|
Хотелось бы вновь поднять вынесенный в тему вопрос, он до сих пор актуален!
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.08.2012(UTC) Сообщений: 21
Сказал(а) «Спасибо»: 1 раз
|
Не знаю как у кого, но у меня прекрасно работает комбинация: window.onload = function () { functioninit(); };
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.05.2015(UTC) Сообщений: 32 Поблагодарили: 3 раз в 3 постах
|
Автор: idb прекрасно работает комбинация window.onload Вы на разных компьютерах пробовали, на старых и "тормознутых" тоже? Там вопрос во времени первоначальной инициализации процесса Native Message Host. Если успевает запустится - то прекрасно, а если нет то нет. И обратите внимание, речь только про первый запуск, после старта браузера. Если потом страницу обновлять всё будет работать "прекрасно" поскольку хост процесс уже есть.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.08.2012(UTC) Сообщений: 21
Сказал(а) «Спасибо»: 1 раз
|
Да, это все понятно, но проверить на старых и "тормознутых" возможности нет из-за отсутствия таковых. На которых проверялось, все отрабатывало.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close