2013-10-07 37 views
2

我正在構建一個bootstrapped Firefox extension使用Mozilla add-on SDK而不是一個傳統的XUL插件像其他類似的問題)。Bootstrapped Firefox擴展:如何在頁面請求之前捕獲導航事件?

我想捕獲導航事件之前他們發出HTTP請求。

我一直在使用pageMod.PageMod({contentScriptWhen: "start", onAttach: MY_CODE_HERE}) - 然而,它只是觸發onAttach 頁面加載後。

這是由SDK文檔增強:

contentScriptWhen =「開始」:加載內容的腳本立即後的文檔元素插入到DOM,但本身已經DOM內容之前加載

在一個自舉Firefox擴展,是有可能之前捕捉的導航事件頁面加載?

+0

如何定義「導航事件」? – paa

+0

導航到頂層窗口中的新頁面,方法是單擊鏈接或書籤,或在地址欄中輸入地址。 – montogos

回答

2

您可以攔截和處理,通過SDK的系統事件的請求:How to handle every request in a FF extension

你並不需要一個pagemod,因爲這是對Firefox的水平,而不是每片平像pagemod。

+1

這不會捕獲不會導致HTTP請求的導航事件(即通過[BFCache](https://developer.mozilla.org/en-US/docs/Working_with_BFCache)訪問的頁面) – paa

+0

Right;您在發生HTTP請求之前先要求提供 - bfcache在網絡之外的本地發生。如果您想攔截bfcache事件,可以使用'tabs'模塊的'pageshow'事件來查看它是否從緩存中取出。 [pageshow event](https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/tabs.html#pageshow) – jsantell

相關問題