我創建了一個Chrome擴展,其中包含一個彈出窗口,用戶可以選擇並保存不同的設置。我將這些設置保存到localStorage中,這是在所有選項卡上共享的。我希望用戶能夠爲不同的網頁保存不同的設置。如何在Chrome擴展中保存不同頁面的不同設置?
這是我想要的工作是什麼:
- 用戶可以到網站1和保存設置的
- 用戶則可以去現場2並保存設置b
- 每當用戶返回到位點1,設定A是活動的(並且在彈出顯示)
- 每當用戶返回到站點2,設置B的活性(並顯示在彈出)
截至目前,無論用戶何時更改任何頁面上的設置,這些設置在所有頁面上都處於活動狀態。
我已經從瀏覽器動作轉移到頁面動作,但由於我將設置保存到同一個localStorage中,它沒有任何區別。
我唯一的想法是將URL保存到localStorage中作爲鍵和所有設置作爲值。有沒有更乾淨的方法來做到這一點?
謝謝!
謝謝,我使用了前綴,實際上並不難實現。但我有一個後續問題:現在,如果用戶從站點1導航到站點2,則只有在用戶單擊彈出式圖標後纔會更新設置。一旦他點擊,彈出代碼運行,設置更新到網站2的那些。你知道是否有可能在導航到新頁面時運行popup.js? – Ekaterina
_這是一個無關的問題;我會回答一次,並會提供**沒有後續**。如果您仍然需要幫助 - 請提出一個新問題._使用監聽某些事件的背景頁面。無論是['chrome.tabs.onUpdated'](https://developer.chrome.com/extensions/tabs#event-onUpdated)和其他'tabs'事件,還是使用['chrome.webNavigation' API](https:/ /developer.chrome.com/extensions/webNavigation)事件。 – Xan
我感覺它聽起來像一個無關的問題...非常感謝你的幫助:) – Ekaterina