


10 perkara yang mereka tidak pernah memberitahu anda di Firefox Extension School
Kebanyakan apa yang ada di sini tidak didokumenkan secara jelas di Pusat Pemaju Mozilla (MDC), sama ada kerana ia masih dalam senarai "untuk melakukan" mereka, atau kerana saya membuatnya sendiri. Sebahagian daripadanya didokumentasikan dengan baik, tetapi sangat berguna bahawa saya fikir ia patut mengarahkan perhatian anda kepadanya. Saya akan mencipta mereka sebagai fungsi peringkat atas (menggunakan kata kunci fungsi). Dalam praktiknya, anda harus membuatnya sebagai kaedah objek lanjutan utama anda.
Takeaways Key
Gunakan `senarai gaya-` untuk menambah ikon kepada unsur-unsur XUL seperti `,` `, dan`
`kerana ramai yang tidak menyokong` latar belakang-imej`.Buat `
` Elements di Firefox untuk MAC OS X Keyboard-boleh diakses dengan menambahkan `TabIndex =" 0 "` untuk membolehkan navigasi menggunakan kekunci anak panah.-
1. Tambah ikon dengan imej gaya senarai banyak elemen XUL tanpa sokongan untuk harta latar belakang CSS, tetapi banyak daripada mereka - DO sokongan gaya senarai sokongan. Ini termasuk
- 2. Buat
elemen keyboard-boleh diakses dalam mac os x
Setelah itu, anda boleh menggunakan kekunci anak panah untuk menukar antara tab, sama seperti di Windows dan Linux.
3. Rujuk sasaran tetikus asal acara menu konteks
Apabila anda mengklik item dalam menu konteks XUL, rujukan sasaran acara adalah
textbox[type="search"] <br>{ <br> list-style-image:url(chrome://myextension/content/images/magglass.png); <br>}
Jika anda menambah atribut Flex ke kebanyakan elemen XUL, mereka akan berkembang untuk mengisi ruang yang ada. Tetapi Flex diwarisi, jadi anak -anaknya akan
juga berkembang, yang dalam beberapa kes sangat tidak diingini. Sebagai contoh, jika elemen kanak -kanak adalah
6. Tambah ikon dialog tersuai untuk Windows dan Linux
<tab> elements are natively inaccessible to the keyboard in Firefox for Mac OS X. To make them accessible you need to manually insert them into the tab order, by adding a tabindex attribute with the value 0. This value is effectively "auto", and places the element at its source-order position in the overall tab order:
Ikon dialog tersuai di Windows XP
ini berbeza dengan Mac OS X, kerana dialognya dipaparkan tanpa ikon.
7. Dapatkan rujukan kepada tetingkap yang paling baru dibuka
anda boleh menggunakan antara muka pengantara Window Firefox untuk mendapatkan rujukan kepada tetingkap pelayar yang paling baru dibuka. Ini mungkin berguna jika anda ingin membuka pautan web dari dialog luaran, dan lebih dipercayai daripada Window.Opener. Dapatkan URL setiap tab terbuka
mengikuti dari hujung sebelumnya, kita boleh meleleh melalui semua tingkap pelayar yang kini terbuka, mengeluarkan URL mereka, dan membungkusnya ke dalam pelbagai hierarki (dikelompokkan terlebih dahulu oleh tetingkap, kemudian dengan tab). Setiap ahli matriks terakhir adalah array sendiri, yang mengandungi URL tab dan bendera Boolean (dipilih) untuk menunjukkan sama ada tab yang dipilih sekarang dalam tetingkap itu:
textbox[type="search"] <br>{ <br> list-style-image:url(chrome://myextension/content/images/magglass.png); <br>}
9. Buat antara muka anda bertindak balas terhadap perubahan fokus tetingkap
Kebanyakan tingkap MAC mengubah penampilan mereka apabila tingkap kehilangan fokus: latar belakang yang lebih ringan, hiasan tingkap, atau butang kelabu, contohnya. Untuk melaksanakan kesan ini pada kawalan antara muka anda sendiri, anda perlu tahu apabila tingkap mendapat keuntungan dan kehilangan fokus. Contohnya, jika fokus aplikasi bergerak ke dokumen dalam yang tertanam, acara Window Blur utama akan terbakar, walaupun tetingkap masih menjadi fokus. Ini kerana elemen itu sendiri tidak lagi mempunyai fokus aplikasi. Walaupun tingkah laku ini logik, ia juga mungkin tidak dijangka. Berita baiknya ialah tetingkap antara muka utama Firefox mempunyai atribut aktif yang berubah dari benar kepada "" (rentetan kosong) apabila tingkap benar -benar kehilangan tumpuan. Anda boleh menonton atribut ini dengan pendengar acara mutasi DOM, dan gunakannya sebagai pencetus untuk apa sahaja yang perlu anda lakukan:
berhati -hati bagaimana anda menggunakannya. Sebagai contoh, jika anda menggunakannya untuk mencetuskan dialog modal seperti amaran, tindakan pemijahan dialog akan menyebabkan tingkap kehilangan fokus; Menolaknya akan mendapatkan semula fokus, yang akan mencetuskan semula dialog! Contohnya, untuk menukar ikon antara keadaan normal dan kurang upaya:
textbox[type="search"] <br>{ <br> list-style-image:url(chrome://myextension/content/images/magglass.png); <br>}
10. Melaksanakan lembaran gaya spesifik platform
Firefox boleh didapati di pelbagai platform, dan masing-masing mempunyai konvensyen sendiri berkenaan dengan penampilan dan juga penempatan komponen antara muka. Contoh yang baik ini adalah butang OK dan Batal dalam dialog Alert: Pada Windows dan Linux butang OK berada di sebelah kiri butang Batal, sementara pada Mac OS ia adalah cara lain. Kemunculan butang tetingkap yang dekat dan meminimumkan adalah satu lagi contoh, kerana ia berbeza untuk setiap platform. Ini membolehkan anda melaksanakan variasi seperti ikon alternatif untuk butang, fon yang berbeza untuk kawalan antara muka tersuai, dan sebagainya. Folder platform peringkat atas dalam rajah berikut harus masuk ke dalam folder root lanjutan anda-pada tahap yang sama dengan folder Chrome. Semua nama folder dan nama fail mestilah tepat seperti yang ditunjukkan di sini (mereka juga sensitif kes), kecuali nama lembaran gaya itu sendiri; Ini boleh menjadi apa sahaja yang anda suka, tetapi sudah tentu ia mestilah sama untuk setiap salinan platform. Setiap fail chrome.Manifest harus mengandungi bar yang sama-sama tab yang sama (menggantikan "myextension" dengan nama pelanjutan anda):
Untuk menambah helaian gaya ke antara muka anda, tambahkan arahan pemprosesan XML-Stylesheet dengan corak URL berikut:
Lihat bagaimana semua yang anda perlu lakukan adalah merujuk kepada direktori kulit, dan Firefox akan berfungsi dengan gaya spesifik yang dimasukkan, mengikut platform yang dijalankan. Anda boleh memperluaskan prinsip dengan banyak helaian gaya yang berbeza seperti yang anda mahu: hanya buat versi dalam setiap folder platform, dan kemudian tambahkannya ke dokumen XUL menggunakan corak URL yang sama.
11. Tambah URL ke sejarah penyemak imbas Berikut adalah tip bonus tambahan. Rujukan XUL di MDC memberitahu anda bagaimana untuk membuat kotak teks dengan sejarah auto-lengkap. Malangnya, ia gagal memberitahu anda bagaimana untuk menambah URL baru ke sejarah, jadi saya terpaksa bekerja dengan cara yang sukar, dengan mengangkut kod sumber Firefox. Kaedah yang saya akan tunjukkan kepada anda di sini menambah URL, mengambil dan menjimatkan favicons, dan termasuk sejarah asas auto-lengkap ke dalam tawar-menawar!
kotak teks dengan menu auto-lengkap sejarah, menunjukkan entri yang kami tambahkan secara programatik
nota atribut yang diperlukan. Dalam contoh kod berikut, nama fungsi addurltohistory boleh menjadi apa sahaja yang anda inginkan, dan atribut Flex adalah pilihan, tetapi segala-galanya mestilah tepat seperti yang ditunjukkan:
Atribut yang lengkapSelectedIndex adalah supaya apabila anda memilih item dari menu auto-lengkap, nilainya secara automatik ditulis ke dalam kotak teks; Ini membolehkan anda menekan kekunci ENTER langsung untuk membakar fungsi arahan. Atribut baru adalah semata -mata supaya kita dapat mengelakkan secara manual menghuraikan nilai ruang kosong yang tidak diingini (seperti ruang utama atau trailing). Itu kerana elemenAnda juga boleh menambah butang anak panah untuk membuat menu drop-down muncul dengan menambah enableHistory = "true". Dalam praktiknya, anda akan melaksanakan tugas lain selepas ini, (seperti memuatkan URL yang ditentukan ke dalam
textbox[type="search"] <br>{ <br> list-style-image:url(chrome://myextension/content/images/magglass.png); <br>}
pertama dan paling utama kita melakukan sedikit pengesahan, menambah protokol jika URL tanpa satu (supaya pengguna hanya boleh menaip "www."), Kemudian menulis URL [Modified] kembali ke kotak teks. Kemudian, jika ia mengandungi mana -mana ruang atau titik berganda selain daripada parameter CGI, kami membuang amaran ke atas sintaks yang cacat dan keluar dari fungsi. Ini semua pengesahan yang kita perlukan untuk menghentikan Firefox daripada tercekik. Anda mungkin lebih suka mengendalikan ralat dengan lebih anggun, contohnya dengan membuang ralat ke konsol atau melaksanakan kaedah tersuai untuk memberi amaran kepada pengguna bahawa ralat telah berlaku.
Seterusnya, kami menjalankan perniagaan yang sebenarnya menambah URL ke sejarah. Perkhidmatan sejarah tidak akan menerima rentetan Uri biasa, jadi kita perlu membuat apa yang dipanggil iuri. Ini adalah objek URI yang mengandungi pelbagai metadata, termasuk tuan rumahnya, yang akan berguna kemudian. Kami membuat objek IURI menggunakan perkhidmatan IO, dan kemudian lulus ke perkhidmatan sejarah global, untuk menambahkannya ke sejarah penyemak imbas. Pertama, supaya kesilapan tidak dilemparkan jika, atas sebab apa pun, Favicon gagal berada di URL yang diharapkan, dan kedua, kerana ia hanya berfungsi di Firefox 3.5 atau lebih baru. Oleh itu, kita mula -mula memulakan perkhidmatan Favicon, dan kemudian membuat objek iuri untuk alamat Favicon (menggunakan nama hos dari IURI asal). Kami kemudian lulus objek Favicon Iuri ke perkhidmatan Favicon, untuk memuat dan menyelamatkan Favicon.
Dan di sana kita ada! Kali seterusnya kami menaip alamat yang sama ke dalam kotak teks, ia akan muncul dalam menu auto-lengkap, bersama-sama dengan faviconnya. Sekiranya anda ingin memaparkannya di kotak teks dengan segera, anda perlu menjalankan gelung setInterval untuk terus memeriksa sama ada ia wujud. Anda boleh melakukannya dengan kod seperti ini:
Kod ini sedikit rumit: setiap 500 milisaat (parameter kedua untuk setInterval), kami meminta perkhidmatan Favicon untuk favicon halaman. Ia akan mengembalikan URI yang diformat sama ada dengan Moz-Anno: Favicon: Protokol (jika Favicon telah dimuat turun) atau dengan Chrome: Protocol (jika ia mengembalikan imej lalai). Jika kami telah mencuba 20 kali (sejumlah 10 saat), atau jika kami berjaya memuat turun favicon untuk halaman-seperti yang ditunjukkan oleh Moz-Anno: Favicon: Dalam URI-maka kami menetapkannya sebagai URL gaya gaya untuk kotak teks. Sekiranya anda belum melakukannya, muat turun ebook saya Bina lanjutan Firefox anda sendiri yang datang percuma dengan sambungan Codeburner.
Simpan mata berjaga -jaga untuk artikel lain semua tentang membina sambungan Firefox, serta beberapa penambahan baru kepada keluarga Codeburner, akan datang tidak lama lagi!
textbox[type="search"] <br>{ <br> list-style-image:url(chrome://myextension/content/images/magglass.png); <br>}
Soalan Lazim (Soalan Lazim) Mengenai Sambungan Firefox
Bagaimana saya boleh memasang sambungan Firefox?
Memasang Sambungan Firefox adalah proses yang mudah. Pertama, buka penyemak imbas Firefox anda dan klik pada butang menu, yang diwakili oleh tiga baris mendatar di sudut kanan atas. Dari menu lungsur, pilih 'Add-ons'. Ini akan membuka tab Pengurus Add-ons. Dalam bar carian, taipkan nama pelanjutan yang anda mahu pasang dan tekan Enter. Klik pada butang 'Tambah ke Firefox' di sebelah pelanjutan yang anda mahu pasang. Pop timbul akan kelihatan meminta kebenaran anda untuk menambah pelanjutan. Klik 'Tambah' dan pelanjutan akan dipasang.
Kenapa sambungan Firefox saya tidak berfungsi? Ia mungkin disebabkan oleh versi Firefox yang sudah lapuk, bertentangan dengan sambungan lain, atau isu dengan lanjutan itu sendiri. Cuba mengemas kini Firefox ke versi terkini, melumpuhkan sambungan lain untuk memeriksa konflik, atau memasang semula sambungan yang bermasalah. Jika isu ini berterusan, hubungi pemaju lanjutan untuk sokongan. Ini akan membuka tab Pengurus Add-ons. Di sini, anda boleh mengaktifkan atau melumpuhkan sambungan, mengeluarkan sambungan, atau mengakses pilihan untuk setiap pelanjutan. Setiap pelanjutan menggunakan beberapa sumber sistem, dan terlalu banyak boleh melambatkan penyemak imbas anda. Jika anda melihat penyemak imbas anda berjalan perlahan -lahan, cuba melumpuhkan beberapa sambungan untuk melihat apakah ia bertambah baik. Walau bagaimanapun, seperti mana -mana perisian, mereka berpotensi dieksploitasi oleh pelakon berniat jahat. Untuk memastikan keselamatan anda, hanya memasang sambungan dari sumber yang dipercayai, pastikan sambungan anda dikemas kini, dan kerap mengkaji keizinan sambungan anda. Walau bagaimanapun, anda juga boleh menyemak kemas kini secara manual dengan membuka menu Firefox, memilih 'add-ons', dan kemudian mengklik pada ikon gear dan memilih 'semak untuk kemas kini'. Untuk memeriksa sama ada pelanjutan tersedia untuk mudah alih, lawati halaman lanjutan di laman web Add-on Firefox dan cari label 'tersedia untuk Android'. Mozilla menyediakan panduan yang komprehensif mengenai cara membangunkan sambungan Firefox di laman web pemaju mereka.
Apakah sambungan Firefox yang terbaik untuk digunakan? Sesetengah sambungan popular termasuk asal -usul Ublock untuk menyekat iklan, lastpass untuk pengurusan kata laluan, dan pembaca gelap untuk mod gelap.
Bolehkah saya menggunakan sambungan krom pada Firefox? Walau bagaimanapun, tidak semua sambungan Chrome akan berfungsi di Firefox kerana perbezaan bagaimana kedua -dua pelayar mengendalikan sambungan.
Atas ialah kandungan terperinci 10 perkara yang mereka tidak pernah memberitahu anda di Firefox Extension School. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

JavaScript tidak memerlukan pemasangan kerana ia sudah dibina dalam pelayar moden. Anda hanya memerlukan editor teks dan penyemak imbas untuk memulakan. 1) Dalam persekitaran penyemak imbas, jalankan dengan memasukkan fail HTML melalui tag. 2) Dalam persekitaran Node.js, selepas memuat turun dan memasang node.js, jalankan fail JavaScript melalui baris arahan.
