Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa CSS Saya yang Disuntik Tidak Digunakan dalam Skrip Kandungan Saya?

Mengapa CSS Saya yang Disuntik Tidak Digunakan dalam Skrip Kandungan Saya?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 17:17:03917semak imbas

Why Is My Injected CSS Not Applying in My Content Script?

Menyelesaikan masalah Kegagalan Suntikan CSS dalam Skrip Kandungan

Dalam skrip kandungan, menyuntik CSS kadangkala terbukti mencabar. Mari kita mendalami isu biasa di mana CSS yang disuntik gagal muncul di halaman web.

Pernyataan Masalah:

Seorang pengguna menghadapi masalah menyuntik fail CSS ("myStyles .css") melalui skrip kandungan, walaupun memasukkannya dalam tatasusunan "css" fail manifest.json.

Petikan Manifes:

{
  "content_scripts": [
    {
        "matches": [ "http://*/*", "https://*/*", "file:///*/*"],
        "css": ["myStyles.css"],
        "js": ["myScript.js"],
        "all_frames": true
    }
  ]
}

Punca Kemungkinan:

Walaupun lembaran gaya disuntik, ia mungkin tidak digunakan atas faktor seperti:

  • Peraturan CSS yang bercanggah: Gaya lain pada halaman web mungkin mengatasi peraturan CSS yang disuntik.

Penyelesaian:

Untuk menyelesaikan isu ini, pertimbangkan pilihan berikut:

1. Tingkatkan Kekhususan Peraturan CSS

Tingkatkan kekhususan peraturan CSS dalam "myStyles.css" untuk memastikan keutamaannya.

2. Gunakan Pengisytiharan "Penting"

Tambahkan "!penting" pada setiap peraturan CSS dalam "myStyles.css" untuk memaksa permohonan mereka.

#test {
    margin: 0 10px !important;
    background: #fff !important;
    padding: 3px !important;
    color: #000 !important;
}

3. Suntikan CSS melalui Skrip Kandungan

Sebagai alternatif, suntik CSS secara dinamik melalui JavaScript dalam "myScript.js":

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);

Pengubahsuaian Manifest:

Pastikan kunci "web_accessible_resources" disertakan dalam manifest.json (untuk versi manifes 2), membenarkan fail "myStyles.css" boleh diakses daripada halaman bukan sambungan.

{
  "web_accessible_resources": ["myStyles.css"]
}

Dengan melaksanakan penyelesaian ini, anda boleh menyelesaikan isu kegagalan suntikan CSS dengan berkesan dan memastikan gaya yang disuntik digunakan seperti yang dimaksudkan.

Atas ialah kandungan terperinci Mengapa CSS Saya yang Disuntik Tidak Digunakan dalam Skrip Kandungan Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn