2016-11-09 103 views
0

我使用WebExtensions將我的擴展從Chrome移植到Firefox。Firefox擴展:捕捉「onInstalled」事件

有沒有支持「browser.runtime.onInstalled」 - 事件,所以真的沒有辦法趕上這個事件?

+0

我想我應該只使用localStorage變量在安裝後運行腳本一次,然後再也不會再運行一次。 –

回答

0

您必須使用本地存儲。在卸載時,存儲被清除。禁用時,存儲不會被清除。

browser.storage.get('local', 'install_date').then(function(install_date) { 
    if (!install_date) { 
     // just installed 
     browser.storage.set('local', { 
      install_date: Date.now() 
     }); 
    } 
}); 
+0

我已經通過localStorage.setItem()解決了這個問題,但我有問題,當用戶清除他的cookies時,他可以刪除這些數據。 這不是鉻的情況,所以它是因爲我使用「Nightly」,一個FireFox開發者版本,或者因爲我使用的localStorage方法對我的目的不正確? 或者用FireFox無法永久存儲數據而無法刪除用戶權限(卸載除外)? –

+1

使用'chrome.stroage'可以解決@JuliusS這個問題。當用戶清除cookie /數據時,localStorage將始終被清除。 Firefox的人做對了。 – Noitidart

+0

是的,我已經開始改變這個方法,一切都按預期工作。很不同的瀏覽器對它的處理方式不同,但我也會修改我的chrome代碼,以防將來更改用戶權限。 –