Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Menyuntik Lembaran Gaya CSS sebagai Rentetan dalam JavaScript untuk Sambungan Chrome?

Bagaimana untuk Menyuntik Lembaran Gaya CSS sebagai Rentetan dalam JavaScript untuk Sambungan Chrome?

DDD
Lepaskan: 2024-11-02 20:58:02
asal
1031 orang telah melayarinya

How to Inject CSS Stylesheets as Strings in JavaScript for Chrome Extensions?

Menyuntik Lembaran Gaya CSS sebagai Rentetan dalam JavaScript

Untuk menambah gaya CSS tersuai pada antara muka sambungan Chrome, kami menghadapi cabaran dengan document.stylesheets. Begini cara menyuntik lembaran gaya lengkap menggunakan rentetan JavaScript:

Mencipta dan Menambah Elemen Gaya:

Penyelesaian paling mudah ialah mencipta elemen, tetapkan sifat textContentnya pada rentetan CSS dan tambahkannya pada dokumen:

<code class="javascript">const style = document.createElement('style');
style.textContent = 'body { color: red; }';
document.head.append(style);</code>
Salin selepas log masuk

Suntikan CSS Berbilang:

Jika anda mahu untuk menyuntik berbilang gaya ke dalam satu pas, anda boleh membalut kod di atas dalam fungsi utiliti:

<code class="javascript">function addStyle(styleString) {
  const style = document.createElement('style');
  style.textContent = styleString;
  document.head.append(style);
}</code>
Salin selepas log masuk

Suntikan CSS Boleh Ganti:

Sebagai alternatif, anda boleh mengubah suai fungsi untuk menimpa suntikan CSS sebelumnya:

<code class="javascript">const addStyle = (() => {
  const style = document.createElement('style');
  document.head.append(style);
  return (styleString) => (style.textContent = styleString);
})();</code>
Salin selepas log masuk

Keterbatasan IE:

Perhatikan bahawa IE9 dan ke bawah mempunyai had 32 helaian gaya, manakala IE10 membenarkan 4095. Berhati-hati apabila menggunakan kod yang tidak boleh diganti untuk pelayar lama.

Memodenkan Jawapan:

Kemas kini terbaharu telah menggantikan .innerHTML dengan .textContent atas sebab keselamatan. Kod yang dikemas kini:

<code class="javascript">const style = document.createElement('style');
style.textContent = styleString;
document.head.append(style);</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyuntik Lembaran Gaya CSS sebagai Rentetan dalam JavaScript untuk Sambungan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan