2013-08-29 2 views
1

У меня есть плагин NPAPI для Mac Safari/fire Fox browser. У плагинов есть несколько методов, и я могу назвать это из java-скрипта. Я хотел знать, могу ли я закрыть или выгрузить плагин с помощью реализации метод внутри него. Мне нужна эта функция для выгрузки плагина из браузера/памяти.Выгрузить плагин NPAPI с помощью вызова метода сценария

ответ

3

Короткий ответ: Нет

Более длинный ответ: не очень. То, что вы может do - удалить тег объекта из DOM, что приведет к тому, что экземпляр будет выгружен. Он не гарантирует, что браузер выгрузит модуль, но он, по крайней мере, избавит экземпляр от вашего пути.

Большинство людей, которые хотят это сделать, пытаются найти способ обновления плагина без закрытия браузера; вы можете это сделать, но вам нужно установить новый плагин с другим именем файла, чем старый плагин. Я говорю о имени файла .plugin/bundle, а не двоичном в нем.

Если у вас есть плагин в ~/Internet Plugins/MyPlugin-1.0.0.0 и удалении, что и поставить новый плагин в ~/Internet Plugins/MyPlugin-1.0.0.1, а затем в JavaScript вы называете navigator.plugins.refresh(false); браузер будет найти новый плагин, и когда вы его экземпляр это даст вам новую версию. Однако пучок должен быть назван по-разному; это ключ.

+0

вы не можете ожидать, что пользователь удалит плагины из папки. Подумайте о более крупной перспективе, если плагин, который я использовал на веб-сайте и много пользователей, использует его. –

+0

Зачем пользователю нужно удалить плагины из папки? Я не сказал, что вам нужно оставить старое на месте, просто для нового нужно иметь другое имя или браузер не обнаружит его. В Mac OS вы можете полностью удалить старый плагин, пока он все еще используется - как только он больше не используется, он будет фактически удален, но в среднем он будет удален для всех, кто еще не обращается к нему , – taxilian

Смежные вопросы