2011-08-12 46 views
1

作爲我在網絡使用方面的研究的一部分,我有人安裝Firefox插件來跟蹤他們的訪問(有點像RescueTime,但對我的研究不同)。如何檢查Firefox插件是否已安裝(在另一臺計算機上)?

所以我擔心用戶是否通過卸載插件來作弊。有什麼辦法可以讓我的插件在安裝/卸載插件時通知我?

我知道這有很多解決方法(比如說,通過使用另一個瀏覽器客戶端)。但是對於這個非常特殊的情況,我能做些什麼呢?

PS - 我有同樣的問題的Chrome擴展,做幾乎相同的事情。我想我應該開始另一個線程來問這個問題。

回答

2

您可以註冊em-action-requested主題的觀察者:https://developer.mozilla.org/en/Observer_Notifications#Extension_Manager。這樣,只要用戶選擇卸載附加組件,您就可以收到通知。這裏有一些限制:

  • 禁用的附加組件不會收到通知(它們不是活動的)。但是,只要用戶選擇禁用附加組件,您就會收到通知。
  • 大多數附加組件都沒有立即卸載,通常這需要瀏覽器重新啓動。在重新啓動之前,用戶仍然可以選擇恢復他的動作。
  • 只需刪除相應的目錄/文件,即可在瀏覽器未運行時卸載附件。沒有通知會被髮送。

如果您想驗證附件是否仍然安裝,那麼向您的服務器發送常規的「我活着」信號可能更加可靠。

+0

我正在考慮發送一個定期的「我還活着」的信號,但我實際上並不知道代碼庫足夠好以查看我需要使用哪些庫。你能否指點我一個方向? – binarysolo

+0

使用[XMLHttpRequest](https://developer.mozilla.org/zh/xmlhttprequest) - 與您爲網頁執行的操作相同。 –

+0

我覺得這很好。我對此並不熟悉,但第一次傳球似乎沒有問題。非常感謝! – binarysolo

2

對於Firefox 4.0及更高版本,您可以使用新的AddonManager interface。調用addAddonListener()方法傳入偵聽器。在您的監聽器as documented上實現方法,包括onUninstalling()和/或onUninstalled()。

+0

感謝您的幫助,該圖書館很有用。 – binarysolo

相關問題