Selepas beberapa kerja keras, saya akhirnya menyelesaikan tugas itu, tetapi saya tidak mahu hasil penyelidikan saya dibazirkan, jadi saya memutuskan untuk berkongsi pengalaman pembelajaran saya.
kepentingan penghijrahan v3 nyata
Manifest V3 adalah API Google untuk Chrome, pengganti kepada API semasa manifes v2, yang menguruskan bagaimana sambungan Chrome berinteraksi dengan penyemak imbas. Manifest V3 telah membuat perubahan ketara kepada peraturan lanjutan, yang sebahagiannya akan menjadi tiang baru V2 yang kita gunakan untuk menggunakannya.
Penghijrahan v3 manifes dapat diringkaskan seperti berikut:
- Penghijrahan telah dijalankan sejak 2018.
- Manifest V3 secara rasmi akan dilancarkan pada bulan Januari 2023.
- Menjelang Jun 2023, sambungan yang dijalankan Manifest V2 tidak lagi tersedia di kedai web Chrome.
- Pelanjutan yang tidak mematuhi peraturan baru yang diperkenalkan dalam Manifest V3 akhirnya akan dikeluarkan dari kedai web Chrome.
Adalah penting untuk bersaing dengan penghijrahan Google untuk nyata V3 kerana ia memperkenalkan peraturan baru untuk sambungan yang direka untuk meningkatkan keselamatan pengguna dan pengalaman pelayar keseluruhan, dan sambungan yang tidak mematuhi peraturan ini akhirnya akan dikeluarkan dari kedai web Chrome.
Singkatnya, jika anda tidak berhijrah secepat mungkin, semua usaha anda untuk membuat sambungan yang menggunakan v2 nyata boleh membazir.
perbezaan utama antara manifes v2 dan v3
Terdapat banyak perbezaan antara kedua -dua, dan sementara saya sangat mengesyorkan anda membaca panduan "Migrasi ke Manifest V3" Chrome, inilah ringkasan ringkas mengenai perkara utama:
- Dalam nyata v3, pekerja perkhidmatan menggantikan halaman backend.
- Pengubahsuaian permintaan bersih dikendalikan dengan nyata v3 menggunakan API Declarativenetrequest baru.
- Dalam nyata v3, sambungan hanya boleh melaksanakan kod JavaScript yang terkandung dalam pakej mereka, dan tidak boleh menggunakan kod yang diuruskan dari jauh.
- Manifest V3 memperkenalkan sokongan janji untuk banyak kaedah, walaupun panggilan balik masih disokong sebagai alternatif.
- Kebenaran tuan rumah dalam nyata v3 adalah elemen yang berasingan dan mesti ditentukan dalam medan "Host_permissions".
- Dasar Keselamatan Kandungan dalam Manifest V3 adalah objek yang mewakili konteks dasar keselamatan kandungan alternatif (CSP), bukannya rentetan dalam nyata v2.
Dalam senarai sambungan krom yang hanya mengubah latar belakang laman web, ia mungkin kelihatan seperti ini:
<code>// Manifest V2 { "manifest_version": 2, "name": "Shane's Extension", "version": "1.0", "description": "A simple extension that changes the background of a webpage to Shane's face.", "background": { "scripts": ["background.js"], "persistent": true }, "browser_action": { "default_popup": "popup.html" }, "permissions": [ "activeTab", ], "optional_permissions": ["<all_urls>"] }</all_urls></code>
<code>// Manifest V3 { "manifest_version": 3, "name": "Shane's Extension", "version": "1.0", "description": "A simple extension that changes the background of a webpage to Shane's face.", "background": { "service_worker": "background.js" }, "action": { "default_popup": "popup.html" }, "permissions": [ "activeTab", ], "host_permissions": [ "<all_urls>" ] }</all_urls></code>
Jika anda dapati beberapa tag di atas kelihatan pelik, teruskan membaca untuk mengetahui apa yang perlu anda ketahui.
bagaimana untuk berhijrah untuk nyata v3
Saya telah meringkaskan penghijrahan untuk nyata V3 menjadi empat bidang utama. Sudah tentu, walaupun terdapat banyak ciri baru dalam V3 yang baru yang perlu dilaksanakan dari V2 yang manifes lama, membuat perubahan dalam empat bidang ini akan menyediakan lanjutan Chrome anda untuk penghijrahan akhir.
Empat bidang utama ialah:
- Kemas kini struktur asas senarai.
- Ubah suai keizinan tuan rumah.
- Kemas kini Dasar Keselamatan Kandungan.
- Ubah suai pemprosesan permintaan rangkaian.
Melalui empat aspek ini, unsur -unsur asas senarai anda akan siap untuk berhijrah untuk nyata v3. Mari kita lihat setiap aspek utama secara terperinci dan pelajari cara bekerja untuk melindungi pelanjutan Chrome anda dari penghijrahan ini.
struktur asas senarai kemas kini
Struktur asas mengemas kini manifes adalah langkah pertama dalam bergerak ke nyata v3. Perubahan yang paling penting yang perlu anda buat ialah mengubah nilai elemen "manifest_version" ke 3, yang bermaksud anda menggunakan set ciri V3 yang nyata.
Salah satu perbezaan utama antara manifes v2 dan v3 adalah penggantian halaman backend dengan pekerja perkhidmatan lanjutan tunggal dalam nyata v3. Anda perlu mendaftarkan pekerja perkhidmatan di bawah medan "Latar Belakang", gunakan kunci "Service_Worker" dan tentukan satu fail JavaScript tunggal. Walaupun nyata v3 tidak menyokong skrip latar belakang berganda, anda boleh memilih untuk mengisytiharkan pekerja perkhidmatan sebagai modul ES dengan menyatakan "jenis": "modul", yang membolehkan anda mengimport lebih banyak kod.
Dalam nyata v3, atribut "Browser_Action" dan "page_action" digabungkan menjadi atribut "tindakan" tunggal. Anda perlu menggantikan sifat -sifat ini dengan "tindakan" dalam manifes. Begitu juga, Chrome.BrowserAction dan Chrome.PageAction API dalam Manifest V3 digabungkan ke dalam API 'Tindakan' tunggal, yang anda perlukan untuk berhijrah ke.
<code>// Manifest V2 "background": { "scripts": ["background.js"], "persistent": false }, "browser_action": { "default_popup": "popup.html" },</code>
<code>// Manifest V3 "background": { "service_worker": "background.js" }, "action": { "default_popup": "popup.html" }</code>
Secara umum, struktur asas manifes kemas kini adalah langkah utama dalam penghijrahan untuk nyata v3, kerana ia membolehkan anda memanfaatkan ciri -ciri dan perubahan baru yang diperkenalkan dalam versi API ini.
Ubah suai keizinan tuan rumah
Langkah kedua dalam berhijrah untuk nyata v3 adalah untuk mengubahsuai keizinan tuan rumah. Dalam Manifest V2, anda menentukan keizinan tuan rumah dalam medan "Kebenaran" fail manifes. Dalam Manifest V3, kebenaran tuan rumah adalah elemen berasingan yang harus anda nyatakan dalam medan "Host_permissions" fail nyata.
Berikut adalah contoh cara mengubah suai keizinan tuan rumah:
<code>// Manifest V2 { "manifest_version": 2, "name": "Shane's Extension", "version": "1.0", "description": "A simple extension that changes the background of a webpage to Shane's face.", "background": { "scripts": ["background.js"], "persistent": true }, "browser_action": { "default_popup": "popup.html" }, "permissions": [ "activeTab", ], "optional_permissions": ["<all_urls>"] }</all_urls></code>
<code>// Manifest V3 { "manifest_version": 3, "name": "Shane's Extension", "version": "1.0", "description": "A simple extension that changes the background of a webpage to Shane's face.", "background": { "service_worker": "background.js" }, "action": { "default_popup": "popup.html" }, "permissions": [ "activeTab", ], "host_permissions": [ "<all_urls>" ] }</all_urls></code>
Kemas kini Dasar Keselamatan Kandungan
Untuk mengemas kini CSP pelanjutan V2 yang nyata untuk konsisten dengan nyata v3, anda perlu membuat beberapa perubahan pada fail manifes. Dalam manifes v2, CSP ditentukan sebagai rentetan dalam bidang "content_security_policy" yang nyata.
Dalam nyata V3, CSP kini menjadi objek yang ahli yang berbeza mewakili konteks CSP alternatif. Daripada menggunakan medan "content_security_policy" tunggal sekarang, anda perlu menentukan medan berasingan untuk "content_security_policy.extension_pages" dan "content_security_policy.sandbox" bergantung pada jenis halaman pelanjutan yang anda gunakan.
Jika anda mempunyai domain luaran dalam CSP semasa anda, anda juga harus memadamkan sebarang rujukan dari arahan "SCRIPT-SRC", "Worker-SRC", "Object-Src", dan "Style-Src". Membuat kemas kini CSP ini adalah penting untuk memastikan keselamatan dan kestabilan lanjutan dalam v3 nyata.
<code>// Manifest V2 "background": { "scripts": ["background.js"], "persistent": false }, "browser_action": { "default_popup": "popup.html" },</code>
<code>// Manifest V3 "background": { "service_worker": "background.js" }, "action": { "default_popup": "popup.html" }</code>
Ubah suai pemprosesan permintaan rangkaian
Langkah terakhir dalam berhijrah untuk nyata v3 adalah untuk mengubah suai pemprosesan permintaan rangkaian. Dalam Manifest V2, anda akan menggunakan API Chrome.WebRequest untuk mengubah suai permintaan rangkaian. Walau bagaimanapun, API ini digantikan oleh API DeclarativenEtrequest dalam Manifest V3.
Untuk menggunakan API baru ini, anda perlu menentukan kebenaran DeclarativenETrequest dalam manifes dan mengemas kini kod untuk menggunakan API baru. Perbezaan utama antara kedua-dua API adalah bahawa API DeclarativenEtrequest menghendaki anda menentukan senarai alamat yang telah ditetapkan untuk menyekat, dan bukannya menyekat keseluruhan kategori permintaan HTTP seperti menggunakan API Chrome.WebRequest.
Membuat perubahan ini kepada kod adalah sangat penting untuk memastikan pelanjutan terus berfungsi dengan baik di bawah nyata v3. Berikut adalah contoh bagaimana mengubah suai manifes untuk menggunakan API DeclarativenTrequest dalam nyata v3:
<code>// Manifest V2 "permissions": [ "activeTab", "storage", "http://www.css-tricks.com/", ":///*" ]</code>
<code>// Manifest V3 "permissions": [ "activeTab", "scripting", "storage" ], "host_permissions": [ "http://www.css-tricks.com/" ], "optional_host_permissions": [ ":///*" ]</code>
anda juga perlu mengemas kini kod sambungan untuk menggunakan API DeclarativenTrequest dan bukannya API Chrome.WebRequest.
aspek lain yang perlu diperiksa
Apa yang saya telah diperkenalkan hanyalah hujung gunung es. Sudah tentu, jika saya mahu menampung segala -galanya, saya mungkin berada di sini selama beberapa hari, dan panduan pemaju Chrome Google tidak masuk akal. Walaupun apa yang saya telah tutup akan menjadikan sambungan Chrome anda cukup selamat untuk penghijrahan ini, berikut adalah beberapa perkara lain yang mungkin anda ingin periksa untuk memastikan pelanjutan anda berfungsi dengan baik.
- Migrasi skrip latar belakang kepada Konteks Pelaksanaan Pekerja Perkhidmatan: Seperti yang disebutkan sebelumnya, nyata V3 menggantikan halaman latar belakang dengan seorang pekerja perkhidmatan lanjutan tunggal, jadi mungkin perlu mengemas kini skrip latar belakang untuk memenuhi konteks pelaksanaan pekerja perkhidmatan.
- Unified
chrome.browserAction
danchrome.pageAction
api: kedua -dua API bersamaan ini digabungkan ke dalam API tunggal dalam manifes V3, jadi mereka mungkin perlu berhijrah ke API Tindakan. -
Menghidupkan fungsi jangkaan konteks latar belakang V2 yang nyata:
chrome.runtime.getBackgroundPage()
Penggunaan pekerja perkhidmatan dalam nyata v3 tidak sesuai dengan kaedah sepertichrome.extension.getBackgroundPage()
,chrome.extension.getExtensionTabs()
,chrome.extension.getViews()
dan . Ia mungkin perlu untuk berhijrah ke reka bentuk yang melepasi mesej antara konteks lain dan pekerja perkhidmatan backend. - Pindahkan permintaan CORS dalam skrip kandungan kepada pekerja perkhidmatan latar belakang: Untuk mematuhi manifes v3, mungkin perlu untuk memindahkan permintaan CORS dalam skrip kandungan ke pekerja perkhidmatan latar belakang.
-
berhijrah dari melaksanakan kod luaran atau rentetan sewenang -wenang:
chrome.scripting.executeScript({code: '...'})
manifest v3 tidak lagi dibenarkan untuk melaksanakan logik luaran menggunakaneval()
,new Function()
danchrome.runtime.getURL()
. Ia mungkin perlu untuk memindahkan semua kod luaran (JavaScript, WebAssembly, CSS) ke dalam pakej sambungan, mengemas kini skrip dan rujukan gaya untuk memuat sumber dari pakej lanjutan, dan membina URL sumber semasa runtime menggunakan . - Kemas kini beberapa skrip dan kaedah CSS dalam tab API: Seperti yang dinyatakan sebelum ini, beberapa kaedah bergerak dari API tab ke API skrip dalam nyata v3. Sebarang panggilan ke kaedah ini mungkin perlu dikemas kini untuk menggunakan API V3 yang betul.
Dan banyak lagi!
sila luangkan sedikit masa untuk memahami semua perubahan. Lagipun, perubahan ini tidak dapat dielakkan, dan jika anda tidak mahu kehilangan lanjutan V2 yang nyata kerana mengelakkan penghijrahan ini, luangkan masa untuk menguasai pengetahuan yang diperlukan.
Sebaliknya, jika anda baru untuk pengaturcaraan sambungan Chrome dan ingin memulakan, cara yang baik adalah untuk menggali dunia alat pemaju web Chrome. Saya melakukan ini dengan kursus di LinkedIn Learning, yang memberi saya pemahaman cepat tentang kelajuan. Sebaik sahaja anda menguasai asas -asas ini, sila kembali ke artikel ini dan menterjemahkan apa yang anda tahu berdasarkan v3 nyata!
Jadi, bagaimana saya menggunakan ciri -ciri dalam v3 manifest yang baru pada masa akan datang?
chrome.webRequestAPI
Bagi saya, penghijrahan untuk nyata V3 dan penyingkiran
Kebangkitan alat kecerdasan buatan pada tahun -tahun kebelakangan ini, yang kebanyakannya menyediakan API yang tersedia, telah memberi inspirasi kepada sejumlah besar aplikasi SaaS baru dan segar. Secara peribadi saya fikir ini adalah sehingga masa ke arah lebih banyak sambungan Chrome berdasarkan aplikasi! Walaupun banyak sambungan lama boleh dibersihkan oleh penghijrahan ini, banyak sambungan baru yang dibina di sekitar idea -idea SaaS novel akan diganti.
Jadi ini adalah kemas kini yang menarik yang boleh digunakan untuk meningkatkan sambungan lama atau membina yang baru! Secara peribadi saya fikir terdapat banyak kemungkinan untuk menggunakan API yang melibatkan kecerdasan buatan dalam sambungan untuk meningkatkan pengalaman melayari pengguna. Tetapi ini benar -benar hanya hujung gunung es. Jika anda ingin benar -benar menggunakan lanjutan profesional anda sendiri atau hubungi syarikat untuk membina/mengemas kini sambungan untuk mereka, saya cadangkan menaik taraf akaun Gmail anda kerana ia mempunyai kelebihan dalam kerjasama, membangun dan menerbitkan sambungan ke kedai web Chrome.
Atas ialah kandungan terperinci Cara Peralihan ke Manifest V3 untuk sambungan Chrome. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan sifat sempadan CSS, memberi tumpuan kepada penyesuaian, amalan terbaik, dan respons. Hujah utama: Radius sempadan adalah yang paling berkesan untuk reka bentuk responsif.

Artikel membincangkan warna CSS HSL, penggunaannya dalam reka bentuk web, dan kelebihan RGB. Tumpuan utama adalah untuk meningkatkan reka bentuk dan kebolehcapaian melalui manipulasi warna intuitif.

Artikel ini membincangkan penggunaan komen dalam CSS, memperincikan sintaksis komen tunggal dan multi-line. Ia berpendapat bahawa komen meningkatkan kebolehbacaan kod, kebolehkerjaan, dan kerjasama, tetapi mungkin memberi kesan kepada prestasi laman web jika tidak diuruskan dengan betul.

Artikel ini membincangkan pemilih CSS, jenis mereka, dan penggunaan untuk elemen HTML gaya. Ia membandingkan pemilih ID dan kelas dan menangani masalah prestasi dengan pemilih yang kompleks.

Artikel ini membincangkan keutamaan CSS, memberi tumpuan kepada gaya inline yang mempunyai kekhususan tertinggi. Ia menerangkan tahap kekhususan, kaedah utama, dan alat penyahpepijatan untuk menguruskan konflik CSS.

Artikel membincangkan sintaks CSS, strategi pembelajaran, kesilapan umum, dan alat pengesahan. Tumpuan utama adalah menguasai CSS melalui amalan dan pemahaman.

Artikel ini membincangkan kerangka CSS teratas seperti Bootstrap, CSS, Yayasan, Bulma, Materialize, dan UIKit, memberi tumpuan kepada ciri-ciri mereka, keramahan pengguna, prestasi, penyesuaian, dan penggunaan profesional.

Artikel ini membincangkan evolusi dari CSS ke CSS3, menonjolkan ciri -ciri baru CSS3 seperti animasi dan alat reka bentuk yang responsif, dan bagaimana untuk mengekalkan keserasian dengan pelayar yang lebih tua.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular
