2014年11月9日 星期日

Chrome Extension 開發實戰篇 25 - 儲存 RSS

在彈出頁面讀取 RSS 的功能做好後,接下來要做兩件事:
  • 選項頁面實作 feeds 管理,可新增、刪除、修改 feeds,並把 feeds 儲存到 sync storage,而在讀取 RSS 時就依據 sync storage 裡的 feeds url 去撈資料。
  • 把『讀取 RSS』這件事搬到事件頁面,每隔一段時間就執行一次,並把取得的 RSS 儲存到 local storage,而彈出頁面就只需要從 local storage 讀取資料就行了。
說明:這兩件事沒有一定要哪個先做,而筆者是選擇先做選項頁面的 feeds 管理,因為如果先做事件頁面,等選項頁面做完後還是要回來修改事件頁面。

需要注意的地方

事件頁面中的 setInterval 要改成使用 alarms API,用法如下。
event_page.js
// 加入監聽事件
chrome.alarms.onAlarm.addListener(function (alarm) {
  if (alarm.name === 'getFeed') {
    getFeed();
  }
});
// 建立 alarms
chrome.alarms.create('getFeed', {
  when: Date.now(),
  periodInMinutes: 15
});

function getFeed() {
  // to do something
}
溫馨小提醒:periodInMinutes 最小值為 1 (分鐘)。

結語:

善用 storage 可以加快彈出頁面的開啟速度喔!如果您有問題,歡迎在下方留言。謝謝!

沒有留言:

張貼留言