2013-12-04 3 views
0

Привет, мне нужно знать, есть ли способ выполнить автоматическое обновление расширения после установки. В настоящее время я использую аварийные сигналы для обновления расширения. Но мне нужно выполнить автоматическое обновление освежение расширения после установки. Есть ли способ его выполнить? Пожалуйста, помогите мне. Ниже мой код, используя сигналы тревоги. вот мой background.jsКак выполнить автоматическое обновление расширения после установки в chrome extension

var oldChromeVersion = !chrome.runtime; 
function getGmailUrl() { 
return "http://calpinemate.com/"; 
} 


    function isGmailUrl(url) { 
    return url.indexOf(getGmailUrl()) == 0; 
    } 

if (chrome.runtime && chrome.runtime.onStartup) { 
    chrome.runtime.onStartup.addListener(function() { 
    updateIcon(); 
    }); 
} else { 
chrome.windows.onCreated.addListener(function() { 
updateIcon(); 
}); 
} 
      function onInit() { 
       updateIcon(); 

     if (!oldChromeVersion) { 
      chrome.alarms.create('watchdog', {periodInMinutes:5}); 
      } 

       } 


    function onAlarm(alarm) { 
    console.log('Got alarm', alarm); 
     if (alarm && alarm.name == 'watchdog') { 
     onWatchdog(); 
     } 
    else { 
      updateIcon(); 
       } 

      } 

     function onWatchdog() { 

     chrome.alarms.get('refresh', function(alarm) { 
     if (alarm) { 
     console.log('Refresh alarm exists.'); 
     } 
       else { 

      updateIcon(); 

       } 
      }); 

      } 


     if (oldChromeVersion) { 

      updateIcon(); 
     onInit(); 

      } 

      else { 

      chrome.runtime.onInstalled.addListener(onInit); 
     chrome.alarms.onAlarm.addListener(onAlarm); 
      } 

     function updateIcon(){ 

     .....//certain functions are performed 
    } 
+0

В настоящее время после включения расширения и перезагрузка его выполняет только указанные функции. Мне нужно, чтобы она выполнялась непосредственно перед перезагрузкой. – user1991

+0

Пожалуйста, измените свой код на наименьший возможный образец, который воспроизводит вашу проблему. В настоящее время код выглядит намного больше, чем конкретный вопрос, который вы задаете. Кроме того, что это связано с Linux? – sowbug

+0

Я обновил свой код.please check it – user1991

ответ

1

Для того, чтобы ваши операции выполняются при установке расширения (что-то совершенно другое от выключения и повторное включение):

Замените эту строку:

chrome.alarms.create('watchdog', {periodInMinutes:5}); 

С этой линией:

chrome.alarms.create('watchdog', { 
    periodInMinutes: 5, 
    delayInMinutes: 0 
}); 

Если вы хотите, чтобы ваши операции будут выполняться, когда расширение включено:

На новой линии в самом, самом конце файла добавьте это:

onInit(); 
+0

Эй, ваш код тоже отлично работает. – user1991

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