Apa kerugian menggunakan innerHTML dalam JavaScript?Disampaikan oleh. Administrator► Jika Anda menggunakan innerHTML, konten diganti setiap saat Show Baca Pertanyaan Dan Jawaban Wawancara Kerja Pengembang Ahli JavaScript Online Pertanyaan JavaScript Pengembang Pakar TeratasKategori Skrip Sisi Klien TeratasSaat saya sedang menulis beberapa JS dasar untuk melakukan manipulasi DOM dan mendengarkan acara, saya menemukan bug yang membuat saya bingung. Saya menghabiskan waktu mempelajari Stack Overflow, mencari solusi tanpa hasil. Untuk mereplikasi bug, saya akan menyajikan versi sederhana dari kode saya Untuk memulai, saya memiliki file HTML sederhana dengan satu Dalam file JavaScript, saya menambahkan beberapa node ke DOM dan membuat event listener pada sebuah tombol Di browser, halaman saya muncul seperti yang diharapkan. Ada gambar, diikuti dengan tombol dan beberapa teks tambahan yang saya tambahkan ke DOM Konten di browser webDari sekilas kode, tombol memiliki tujuan yang jelas. Saat diklik, string Pertama, mari kita coba dan temukan di mana bug dimasukkan ke dalam kode. Untuk memulai, saya akan mengomentari baris Sekarang, ketika saya mengklik tombolnya, semuanya berfungsi seperti yang diharapkan. Setelah mengklik tombol, Jelas, garis dengan Menambahkan ke Saat Anda menggunakan operator append dengan
Sebagai efek samping alami dari alasan sebelumnya, reparsing membuat
Kesimpulan yang paling jelas dari percobaan singkat kami adalah
Penggunaan Anda dapat membaca di Metode yang Sesuai dengan W3C Dapat Menambahkan Elemen DOM Baru dengan Mudah Metode seperti Untuk pemula, Saya seorang penulis profesional dan pengembang perangkat lunak dengan pengalaman lebih dari 10 tahun. Saya telah bekerja untuk banyak bisnis dan dapat berbagi contoh karya dengan Anda berdasarkan permintaan. Chat saya dan mari kita mulai Properti innerHTML sangat populer karena menyediakan cara sederhana untuk mengganti konten elemen HTML sepenuhnya. Cara lain untuk melakukannya adalah dengan menggunakan DOM Level 2 API (removeChild, createElement, appendChild) tetapi menggunakan innerHTML sejauh ini merupakan cara termudah dan paling efisien untuk memodifikasi pohon DOM. Namun, innerHTML memiliki beberapa masalah sendiri yang perlu Anda waspadai
Mengapa Anda harus menghindari innerHTML?Seperti yang telah kita bahas sebelumnya di artikel ini, innerHTML dapat menyebabkan kerentanan keamanan yang serius . Gagasan di balik serangan XSS dengan innerHTML adalah bahwa kode berbahaya disuntikkan ke situs Anda dan kemudian dieksekusi. Ini dimungkinkan karena innerHTML merender markup lengkap, bukan hanya teks.
Apa kerugian menggunakan HTML dalam JavaScript?Masalah atau kerugian utama dalam JavaScript adalah kode selalu terlihat oleh semua orang, siapa pun dapat melihat kode JavaScript . Tidak peduli seberapa cepat interpretasi JavaScript, JavaScript DOM (Document Object Model) lambat dan bisa menjadi rendering yang tidak pernah cepat dengan HTML. |