我正在開發瀏覽器擴展。它有兩個部分:彈出窗口 - 包含復選框內容腳本 - 包含更改 CSS 屬性的代碼我正在保存復選框的狀態,以便下次再次打開彈出窗口時,相同的復選框會被標記為已選中。當我使用復選框時,它們會按預期更改 DOM,但是當我嘗試在頁面加載后更改 DOM 時,更改不會反映出來。這可能是因為我想要執行操作的元素加載緩慢,因此所需的操作失敗。我嘗試使用 onload 和 ready 但沒有任何效果$('.question-list-table').on('load', function() {
browser.storage.local.get(["options"], modifyThenApplyChanges)
});我也嘗試過,但沒有任何改變。$('body').on('load','.question-list-table', function() {
browser.storage.local.get(["options"], modifyThenApplyChanges)
});此外,當我在 Google Chrome 和 Mozilla Firefox 中進行測試時,彈出窗口或內容腳本沒有明顯的錯誤。更新:正如之前所懷疑的,目標元素加載緩慢,因此我使用了setTimeout腳本5 seconds,并且腳本按預期工作。加載時間是可變的,我想盡早以一致的方式展示我的更改。
瀏覽器擴展:如何在加載元素時執行函數
料青山看我應如是
2023-09-07 18:25:12