」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我注入的 CSS 在我的內容腳本中不起作用?

為什麼我注入的 CSS 在我的內容腳本中不起作用?

發佈於2024-11-15
瀏覽:908

Why is my injected CSS not working in my content script?

內容腳本中的CSS 注入問題疑難解答

透過內容腳本將自訂CSS 注入網頁可能是擴展瀏覽器功能的有用技術。但是,如果注入的 CSS 不可見或不應用,則可能會令人沮喪。本文旨在解決可能出現此問題的原因並提供潛在的解決方案。

症狀:

您已將內容腳本配置為注入 CSS 文件,但它確實如此不會出現在目標網頁上。

可能原因:

  1. 規則特異性: CSS 規則根據其特殊性進行應用。如果網頁上的其他樣式覆蓋了您注入的規則,您的CSS將不會被套用。
  2. CSS應用:確保注入的CSS被正確解析和執行。 CSS 程式碼中的錯誤或與其他腳本的衝突可能會導致樣式無法套用。

解決方案:

1.增加規則特異性:

為您的CSS 規則添加額外的選擇器或唯一的類別名稱以增加其特異性。這將確保它們覆蓋網頁上任何衝突的規則。

2。使用“!important”規則:

用“!important”作為 CSS 規則後綴將強制它們覆蓋所有其他樣式。然而,應謹慎使用,因為它可能會導致不良副作用。

3。透過內容腳本注入 CSS:

使用內容腳本動態注入 CSS,而不是在清單中聲明它。這使您可以更好地控制何時以及如何套用樣式。

var style = document.createElement('link');
style.rel = 'stylesheet';
style.type = 'text/css';
style.href = chrome.extension.getURL('myStyles.css');
(document.head||document.documentElement).appendChild(style);

4. Web 可存取資源:

在某些情況下,您可能需要在manifest.json 中提供web_accessible_resources 鍵,以允許在使用清單版本2 時從非擴充頁面存取CSS 檔案。

"web_accessible_resources": ["myStyles.css"]

透過實施這些解決方案,您可以成功注入並應用使用內容腳本的CSS,使您能夠根據需要擴展網頁的功能和外觀。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3