


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:</tab>untuk menambah ikon tersuai ke dialog, mula -mula buat folder bernama ikon di dalam direktori krom lanjutan anda. Kemudian, di dalam folder Ikon, buat folder lain yang dipanggil lalai. Di dalam folder lalai, simpan ikon dengan nama yang sama seperti id
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!

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.

Kuasa rangka kerja JavaScript terletak pada pembangunan yang memudahkan, meningkatkan pengalaman pengguna dan prestasi aplikasi. Apabila memilih rangka kerja, pertimbangkan: 1.

Pengenalan Saya tahu anda mungkin merasa pelik, apa sebenarnya yang perlu dilakukan oleh JavaScript, C dan penyemak imbas? Mereka seolah -olah tidak berkaitan, tetapi sebenarnya, mereka memainkan peranan yang sangat penting dalam pembangunan web moden. Hari ini kita akan membincangkan hubungan rapat antara ketiga -tiga ini. Melalui artikel ini, anda akan mempelajari bagaimana JavaScript berjalan dalam penyemak imbas, peranan C dalam enjin pelayar, dan bagaimana mereka bekerjasama untuk memacu rendering dan interaksi laman web. Kita semua tahu hubungan antara JavaScript dan penyemak imbas. JavaScript adalah bahasa utama pembangunan front-end. Ia berjalan secara langsung di penyemak imbas, menjadikan laman web jelas dan menarik. Adakah anda pernah tertanya -tanya mengapa Javascr

Node.js cemerlang pada I/O yang cekap, sebahagian besarnya terima kasih kepada aliran. Aliran memproses data secara berperingkat, mengelakkan beban memori-ideal untuk fail besar, tugas rangkaian, dan aplikasi masa nyata. Menggabungkan sungai dengan keselamatan jenis typescript mencipta powe

Perbezaan prestasi dan kecekapan antara Python dan JavaScript terutamanya dicerminkan dalam: 1) sebagai bahasa yang ditafsirkan, Python berjalan perlahan tetapi mempunyai kecekapan pembangunan yang tinggi dan sesuai untuk pembangunan prototaip pesat; 2) JavaScript adalah terhad kepada benang tunggal dalam penyemak imbas, tetapi I/O multi-threading dan asynchronous boleh digunakan untuk meningkatkan prestasi dalam node.js, dan kedua-duanya mempunyai kelebihan dalam projek sebenar.

JavaScript berasal pada tahun 1995 dan dicipta oleh Brandon Ike, dan menyedari bahasa itu menjadi C. 1.C Language menyediakan keupayaan pengaturcaraan prestasi tinggi dan sistem untuk JavaScript. 2. Pengurusan memori JavaScript dan pengoptimuman prestasi bergantung pada bahasa C. 3. Ciri lintas platform bahasa C membantu JavaScript berjalan dengan cekap pada sistem operasi yang berbeza.


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

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

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.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),
