Можно ли установить плагин без перезагрузки браузера и машины? - PullRequest
5 голосов
/ 11 августа 2011

Я разработал один плагин NP API и играл с ним. Я заметил ниже две вещи

  1. Когда я устанавливаю плагин в первый раз, мне нужно перезапустить Mac OS, чтобы загрузить плагин.
  2. Каждый раз, когда я обновляю плагин, мне нужно перезапустить браузер.

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

Ответы [ 2 ]

11 голосов
/ 11 августа 2011

Пока вы устанавливаете его как плагин, а не как расширение (например, XPI в Firefox), вам не нужно перезапускать браузер. В Mac OS X это означает размещение файла .plugin в / Library / Internet Plugins / или в ~ / Library / Internet Plugins /. Вы можете указать браузеру перезагрузить список плагинов, например:

navigator.plugins.refresh(false);

Ложь говорит, что не нужно обновлять страницу, чтобы сделать это.

Обновление - это немного другая проблема; браузеры не заметят, что обновление плагина произошло без перезапуска браузера, если имя файла не отличается от оригинала. Мое обычное решение состоит в том, чтобы включить номер версии плагина в имя файла .plugin / bundle, что-то вроде «FBTestPlugin_1.0.0.plugin», поэтому при обновлении он получает другое имя.

В Windows разные браузеры NPAPI имеют разные проблемы с обнаружением плагинов (и разными версиями этих браузеров), но лучший способ, с помощью которого я нашел эту работу, - установить каждый плагин в подкаталог, зависящий от версии, с конкретное имя файла; это кажется излишним, но случаи, к которым я обращался, были с плагином, который имел 50 миллионов установок, и это было необходимо для работы всех поддерживаемых версий браузера. Я также использовал метод установки реестра (HKCU / Software / MozillaPlugins).

Надеюсь, что поможет

0 голосов
/ 14 марта 2013

После того, как вы установили плагин в Windows, вы должны позвонить так:

navigator.plugins.refresh(true);

, чтобы перезагрузить текущую страницу, содержащую плагин.пожалуйста см. http://www.devguru.com/technologies/javascript/11232

...