2013-08-13 2 views
0

У меня есть плагин для браузера, созданный с помощью NPAPI Lib для Safari и firefox для Mac System.Now у меня есть плагин новой версии, и я прошу пользователя загрузить новый плагин, если у пользователя нет последнего плагина ,Обновление плагина NPAPI не работает на лету

после загрузки плагина он не загружается, и я должен закрыть браузер и перезагрузить его.

Я делаю navigator.plugin.refresh(false) с регулярным интервалом, но без успеха. Я не могу перезагрузить страницу в этот момент, потому что я все еще получаю старую версию плагина.

Если вы идете и убиваете плагин в мониторе активности и перезапускаете браузер, он показывает новую версию плагина. Пожалуйста, помогите мне в этом.

Отредактировано:

Этот метод вызывается каждый 3 сек

function InitIEPlugin() { 
plugin = navigator.plugins["MyPlug-In"]; 
     if (plugin) { 
      remoteEngine = document.getElementById('MyPlugin'); 
      if (remoteEngine) { 
       isMyPluginInstalled = true; 
       var version = remoteEngine.getAttributeByKey("plugin_version"); 
       if ((ua.indexOf('Intel Mac OS X 10.5') >= 0) || (ua.indexOf('Intel Mac OS X 10_5') >= 0)) { 
        //isHarmonyPluginUpgradeRequired = CheckVersionOfPlugin(version); 
       } 
       else { 
        isMyPluginUpgradeRequired = CheckVersionOfMacPlugin(version); 
        if (isMyPluginUpgradeRequired == true) 
         isMyPluginInstalled = false; 
       } 
      } 
     } 
    } 

ответ

1

В следующий раз убедитесь, что вы упоминаете ОС в тексте; Я вижу, что вы находитесь на OS X из своих тегов, но он меняет все, чтобы знать, что вы на Mac.

Вам необходимо установить новую версию как другое имя файла (ну, и .plugin/bundle нужно назвать по-разному). Самый простой способ сделать это - просто поместить версию плагина в имя файла, например. ~/Library/Internet \ Plug-Ins/MyPlugin_1.1.0.12.plugin

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

+0

Но в этом как старый, так и новый плагин будет в процессе. Поэтому нам также нужно изменить webPluginName и WebPluginMIMETypes. Пожалуйста, подтвердите! –

+0

Пока вы меняете имя файла, вы должны быть хорошими; нет причин, по которым вам нужно будет изменить миметики или что-нибудь (мне никогда не понадобилось) – taxilian

+0

Но var version = remoteEngine.getAttributeByKey («plugin_version») всегда дает мне более старую версию здесь. –

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

  • Нет связанных вопросов^_^