确定扩展状态

时间:2012-06-07 17:39:04

标签: google-chrome-extension

在我的chrome扩展程序中,我想在扩展程序运行时对内存中的用户首选项进行任何更改,并且只在扩展程序即将终止时将首选项(作为JSON obj)保存到localStorage(我使用了我的扩展中的背景html页面。

我每次更改首选项时都会写入localStorage,但我正在查看是否可以更高效地避免在每次首选项更改时写入磁盘,而只是在终止之前执行一次。

有没有办法知道延期何时被终止,或者是否有人知道更好的方法来处理这种情况?

1 个答案:

答案 0 :(得分:0)

这有帮助吗?

 function saveSettings(){
     window.clearTimeout(window.savingSettings);
     return window.savingSettings = window.setTimeout(function(){ 
         ... // write to local storage here.
     },2000)
 };

这将确保:

  1. 保存操作之间至少有两秒钟
  2. 整个事情与主线程
  3. 有些并行

    你应该会在某种程度上看到性能的提升但是有一个问题。如果用户在更改pref后不等待这两秒钟关闭浏览器,则不会保存prefs。