1

我正在創建一個需要從某個URL加載正則表達式列表的Firefox擴展。但是,如果每次用戶加載一個頁面時都會調用這個頁面,那麼對於服務器來說就太痛苦了。所以,我希望程序在用戶每次啓動Firefox時運行一次。如何檢測firefox擴展中的firefox啓動事件?

我發現這個解決方案:

How to detect first loading of NPAPI plugin/Extension in firefox and chrome

但它有一個缺點。如果Firefox啓動多個選項卡,它將無法工作(gBrowser.browsers.length不具有「1」作爲值)

那麼,我該怎麼辦?

回答

2

你從哪裏讀到每次用戶加載頁面時都會執行擴展代碼?默認情況下,Firefox擴展的代碼只能運行在

  • 安裝
  • 使
  • 啓動
  • 升級
  • 降級

所以,只要在main.js請求和你應該沒問題。

如果你真的想要列表僅在啓動時加載(這聽起來並不像你真正想要的),然後添加一行

if (require("sdk/self").loadReason==='startup') loadRegexs()