Rumah >hujung hadapan web >tutorial js >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`.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>}
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: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.
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
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>}
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.
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.
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!