1.firefox tidak boleh menyokong innerText.
Firefox menyokong innerHTML tetapi bukan innerText Ia menyokong textContent untuk melaksanakan innerText, tetapi ruang tambahan juga dikekalkan secara lalai. Jika textContent tidak digunakan, innerHTML boleh digunakan sebaliknya jika rentetan tidak mengandungi kod HTML.
2. Larang pemilihan kandungan web:
Biasanya gunakan js dalam IE: obj.onselectstart=function(){return false;}
Firefox menggunakan CSS:-moz-user-select:none
3. Sokongan penapis (contoh: penapis lutsinar):
IE:filter:alpha(opacity=10);
firefox:-moz-opacity:.10;
4. Tangkapan acara:
IE: obj.setCapture(), obj.releaseCapture()
Firefox: document.addEventListener("mousemove",mousemovefunction,true);
document.removeEventListener("mousemove",mousemovefunction,true);
5. Dapatkan kedudukan tetikus:
IE: event.clientX, event.clientY
firefox: fungsi acara diperlukan untuk menghantar objek acara
obj.onmousemove=function(ev){
X=ev.pageX;Y=ev.pageY;
}
6. Isu sempadan DIV dan elemen lain:
Contohnya: tetapkan CSS div::{width:100px;height:100px;border:#000000 1px solid;}
Dalam IE: lebar div (termasuk lebar sempadan): 100px, ketinggian div (termasuk lebar sempadan): 100px
Dan firefox: lebar div (termasuk lebar sempadan): 102px, ketinggian div (termasuk lebar sempadan): 102px
Jadi apabila membuat tetingkap seret ini yang serasi dengan IE dan Firefox, anda perlu menggunakan otak anda semasa menulis js dan css Berikut adalah dua petua untuk anda
1. Tentukan jenis penyemak imbas:
var isIE=document.all? true:false;
Saya menulis pembolehubah, jika sintaks document.all disokong maka isIE=true, jika tidak isIE=false
2. Pemprosesan CSS di bawah pelayar yang berbeza:
Secara amnya, anda boleh menggunakan !important untuk mengutamakan penggunaan pernyataan css (hanya disokong oleh firefox)
Contohnya: {border-width:0px!important;border-width:1px;}
Di bawah Firefox, elemen ini tidak mempunyai sempadan Di bawah IE, lebar sempadan ialah 1px
1.document.formName.item("itemName") masalah
Perihalan masalah: Di bawah IE, anda boleh menggunakan document.formName.item("itemName") atau document.formName.elements ["elementName"] di bawah Firefox, anda hanya boleh menggunakan document.formName.elements["elementName"]; .
Penyelesaian: Gunakan document.formName.elements["elementName"] secara seragam.
2. Masalah objek koleksi
Perihalan masalah: Di bawah IE, anda boleh menggunakan () atau [] untuk mendapatkan objek koleksi di bawah Firefox, anda hanya boleh menggunakan [ ] untuk mendapatkan objek koleksi.
Penyelesaian: Gunakan [] secara seragam untuk mendapatkan objek kelas koleksi.
3. Isu atribut tersuai
Perihalan masalah: Di bawah IE, anda boleh menggunakan kaedah mendapatkan atribut biasa untuk mendapatkan atribut tersuai, atau anda boleh menggunakan getAttribute() untuk mendapatkan atribut tersuai di bawah Firefox, anda hanya boleh menggunakan getAttribute() untuk mendapatkan atribut tersuai.
Penyelesaian: Dapatkan atribut tersuai secara seragam melalui getAttribute().
masalah 4.eval("idName")
Perihalan masalah: Di bawah IE, anda boleh menggunakan eval("idName") atau getElementById("idName") untuk mendapatkan objek HTML dengan id idName di bawah Firefox, anda hanya boleh menggunakan getElementById("idName") untuk mendapatkan Objek HTML dengan id idName .
Penyelesaian: Gunakan getElementById("idName") secara seragam untuk mendapatkan objek HTML yang idnya ialah idName.
5. Masalah bahawa nama pembolehubah adalah sama dengan ID objek HTML
Penerangan masalah: Di bawah IE, ID objek HTML boleh digunakan secara langsung sebagai nama pembolehubah objek bawahan dokumen, tetapi tidak di bawah Firefox di bawah Firefox, nama pembolehubah yang sama seperti ID objek HTML boleh digunakan, tetapi tidak di bawah IE.
Penyelesaian: Gunakan document.getElementById("idName") dan bukannya document.idName. Sebaik-baiknya jangan gunakan nama pembolehubah dengan ID objek HTML yang sama untuk mengurangkan ralat semasa mengisytiharkan pembolehubah, sentiasa tambahkan kata kunci var untuk mengelakkan kekaburan.
6.masalah berterusan
Perihalan masalah: Di bawah Firefox, anda boleh menggunakan kata kunci const atau kata kunci var untuk menentukan pemalar di bawah IE, anda hanya boleh menggunakan kata kunci var untuk menentukan pemalar.
Penyelesaian: Gunakan kata kunci var secara seragam untuk menentukan pemalar.
masalah atribut 7.input.type
Perihalan masalah: Atribut input.type di bawah IE ialah baca-sahaja tetapi atribut input.type di bawah Firefox ialah baca-tulis.
Penyelesaian: Jangan ubah suai atribut input.type. Jika anda mesti mengubah suainya, anda boleh menyembunyikan input asal dahulu, dan kemudian memasukkan elemen input baharu pada kedudukan yang sama.
8.tingkap.masalah acara
Perihalan masalah: window.event hanya boleh dijalankan di bawah IE, tetapi bukan di bawah Firefox Ini kerana acara Firefox hanya boleh digunakan di tempat kejadian berlaku.
Penyelesaian: Tambahkan parameter acara pada fungsi tempat peristiwa berlaku dan gunakan var myEvent = evt?evt:(window.event?window.event:null)
dalam badan fungsi (dengan andaian parameter formal ialah evt)
Contoh:
Penyelesaian: var myX = event.x ? event.x : event.pageX; var myY = event.y:event.pageY;
Jika anda mempertimbangkan soalan 8, hanya gunakan myEvent dan bukannya acara.
Masalah 10.event.srcElement
Penyelesaian: gunakan srcObj = event.srcElement ? event.srcElement : event.target;
Jika anda mempertimbangkan soalan 8, hanya gunakan myEvent dan bukannya acara.
masalah 11.window.location.href
Penyelesaian: Gunakan window.location dan bukannya window.location.href. Sudah tentu, anda juga boleh mempertimbangkan untuk menggunakan kaedah location.replace().
12. Isu tetingkap modal dan bukan modal
Penyelesaian: Gunakan terus window.open(pageURL,nama,parameter) untuk membuka tetingkap baharu.
Jika anda perlu menghantar parameter dalam tetingkap anak kembali ke tetingkap induk, anda boleh menggunakan window.opener dalam tetingkap anak untuk mengakses tetingkap induk. Jika anda memerlukan tetingkap induk untuk mengawal tetingkap anak, gunakan var subWindow = window.open(pageURL,name,parameters);
13.Isu bingkai dan iframe
(1)Akses objek bingkai
IE: Gunakan window.frameId atau window.frameName untuk mengakses objek bingkai ini;
Firefox: Gunakan window.frameName untuk mengakses objek bingkai ini;
Penyelesaian: Gunakan window.document.getElementById("frameId") secara seragam untuk mengakses objek bingkai ini;
(2) Tukar kandungan bingkai
Dalam kedua-dua IE dan Firefox, anda boleh menggunakan window.document.getElementById("frameId").src = "xxx.html" atau window.frameName.location = "xxx.html" untuk menukar kandungan bingkai;
Jika anda perlu menghantar parameter dalam bingkai kembali ke tetingkap induk, anda boleh menggunakan kata kunci induk dalam bingkai untuk mengakses tetingkap induk.
14.masalah memuatkan badan
Perihalan masalah: Objek badan Firefox wujud sebelum tag badan dibaca sepenuhnya oleh penyemak imbas manakala objek badan IE mesti wujud selepas tag badan dibaca sepenuhnya oleh penyemak imbas.
[Nota] Ia telah disahkan bahawa masalah di atas tidak wujud dalam IE6, Opera9 dan FireFox2 Skrip JS mudah boleh mengakses semua objek dan elemen yang telah dimuatkan sebelum skrip, walaupun elemen belum dimuatkan.
15. Kaedah perwakilan acara
Penyelesaian: Gunakan document.body.onload=new Function('inject()'); atau document.body.onload = function(){/* Berikut ialah kod */}
[Nota] Perbezaan antara Fungsi dan fungsi
16. Perbezaan dalam elemen induk yang diakses
Penyelesaian: Oleh kerana kedua-dua firefox dan IE menyokong DOM, obj.parentNode digunakan secara seragam untuk mengakses nod induk obj.
17.kursor:tangan VS kursor:penunjuk
Perihalan masalah: Firefox tidak menyokong tangan, tetapi IE menyokong penunjuk kedua-duanya adalah arahan tangan.
18.Masalah InnerTeks
Penerangan masalah: innerText boleh berfungsi seperti biasa dalam IE, tetapi innerText tidak berfungsi dalam FireFox.
Contoh:
Salin kod
Kod adalah seperti berikut:
if(navigator.appName.indexOf("Explorer") >-1){
document.getElementById('elemen').innerText = "teks saya"; } lain{
document.getElementById('element').textContent = "teks saya"; }
19. Masalah penetapan lebar dan ketinggian objek
Perihalan Masalah: Pernyataan seperti obj.style.height = imgObj.height tidak sah dalam FireFox.
Penyelesaian: Gunakan obj.style.height = imgObj.height 'px';
20. Isu operasi jadual
Penyelesaian:
cell.className = "XXXX"
row.appendChild(sel);
[Nota] Oleh kerana saya jarang menggunakan JS untuk mengendalikan jadual secara terus, saya tidak pernah menghadapi masalah ini. Adalah disyorkan untuk menggunakan rangka kerja JS untuk mengendalikan jadual, seperti JQuery.
21. Masalah lekukan senarai ul dan ol
untuk butiran [Nota] Isu ini sebenarnya belum disahkan dan akan diubah suai selepas pengesahan.
[Nota] Telah disahkan bahawa dalam IE, margin tetapan:0px boleh mengalih keluar inden atas, bawah, kiri dan kanan, kosong dan nombor senarai atau titik senarai tidak mempunyai kesan pada gaya dalam Firefox. margin tetapan:0px hanya boleh mengalih keluar inden atas dan bawah Selepas menetapkan padding:0px, anda hanya boleh mengalih keluar inden kiri dan kanan Anda juga mesti menetapkan list-style:none untuk mengalih keluar nombor senarai atau titik. Dalam erti kata lain, dalam IE, hanya margin:0px boleh ditetapkan untuk mencapai kesan akhir, manakala dalam Firefox, margin:0px, padding:0px dan list-style:none mesti ditetapkan pada masa yang sama untuk mencapai kesan akhir.
22. Isu ketelusan CSS
IE: penapis:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60).
FF: kelegapan: 0.6.
[Nota] Adalah lebih baik untuk menulis kedua-duanya dan meletakkan atribut kelegapan di bawah.
23. Masalah penjuru bulat CSS
IE: Versi di bawah ie7 tidak menyokong sudut bulat.
FF: -moz-border-radius:4px, atau -moz-border-radius-topleft:4px;-moz-border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border- jejari-kanan bawah: 4px;.
[Nota] Masalah sudut bulat ialah masalah klasik dalam CSS. Adalah disyorkan untuk menggunakan set bingkai JQuery untuk menetapkan sudut bulat dan menyerahkan isu kompleks ini kepada orang lain.
Terdapat terlalu banyak masalah dalam CSS, malah definisi CSS yang sama mempunyai kesan paparan yang berbeza dalam piawaian halaman yang berbeza. Cadangan yang sesuai untuk pembangunan ialah halaman harus ditulis menggunakan piawaian DHTML standard, dengan kurang penggunaan jadual, dan takrifan CSS hendaklah berdasarkan DOM standard sebanyak mungkin, dengan mengambil kira pelayar arus perdana seperti IE, Firefox, dan Opera. BTW, dalam banyak kes, piawaian tafsiran CSS FF dan Opera lebih dekat dengan piawaian CSS dan lebih normatif.

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

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.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

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.

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.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

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


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

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

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),