Mengapa frame tidak digunakan lagi dalam HTML5, tetapi bukan iFrames? Lagi pula, hampir tidak ada perbedaan di antara keduanya. Dalam banyak kasus menggunakan salah satu dari mereka akan memberikan hasil yang sama (maafkan saya jika saya salah)?
Mengapa frame tidak digunakan lagi dalam HTML5, tetapi bukan iFrames? Lagi pula, hampir tidak ada perbedaan di antara keduanya. Dalam banyak kasus menggunakan salah satu dari mereka akan memberikan hasil yang sama (maafkan saya jika saya salah)?
Jawaban:
Ada beberapa kesalahpahaman dalam posting Anda. Pertama, frame
dan frameset
elemen tidak ditinggalkan dalam HTML5, mereka usang (yaitu, mereka telah dihapus seluruhnya).
Kedua, elemen frame
dan frameset
tidak sama dengan iframe
elemen, juga tidak memberikan hasil yang sama:
The frameset
elemen menggantikan elemen body di halaman sebagai sarana untuk memasukkan model dokumen yang berbeda untuk halaman web: mereka buruk untuk kegunaan dan aksesibilitas, dan apa yang mereka dimaksudkan untuk mencapai telah benar-benar digantikan oleh CSS dan pengembangan server-side di mana-mana.
The iframe
elemen, di sisi lain, tidak menggantikan tubuh halaman. Ini bertindak sebagai sarana untuk memasukkan konteks penelusuran baru yang tertanam dalam blok konten. Itu tidak menderita dari kegunaan yang sama atau masalah aksesibilitas seperti model frameset dan digunakan hampir di mana saja kita harus menyertakan konteks penelusuran yang tertanam (widget menjadi contoh paling produktif). 1
Dalam iframe
HTML5 juga mengambil fitur tambahan yang dapat di- sandbox , memungkinkan dokumen induk untuk memutuskan apa yang akan dieksekusi di dalamnya. Ini memungkinkan beberapa ukuran keamanan untuk dokumen induk (dan pengunjung ke dokumen induk) saat menyematkan konten yang tidak tepercaya.
Catatan 1: the object
elemen agak tumpang tindih dengan iframe
elemen, tetapi memiliki model konten yang berbeda (yang dimaksudkan terutama untuk plugin), telah menetapkan sendiri dari peringatan, dan tidak memiliki sandboxing atribut yang iframe
elemen memiliki.
Bingkai (frameset) bertindak sebagai dokumen. Itu dihapus karena merusak struktur dan navigasi dokumen HTML. Misalnya. Anda memiliki tautan di satu bingkai, konten di yang lain, Anda tidak dapat membuka tautan dari halaman di dalam jendela baru, Anda tidak dapat menautkan ke sub-halaman tertentu, dll.
Di lain pihak iframe tidak akan merusak apa pun jika digunakan dengan benar karena dimaksudkan untuk konten kotak pasir (mis. Iklan).
Framesets sering digunakan dengan cara di mana mereka melanggar prinsip dasar Web - bahwa setiap dokumen memiliki satu URL. Hal ini menyebabkan masalah dengan penautan, bookmark, mesin pencari, dll.
Penggunaan khas dari frameset akan menjadi bingkai di bagian atas dengan logo atau header, bingkai di samping dengan menu, dan bingkai konten. Tapi mesin pencari mengindeks halaman individual, jadi ketika Anda menemukan beberapa halaman di Google, itu akan terhubung langsung ke halaman konten tanpa frameset, sehingga Anda kehilangan navigasi. Masalah dengan tautan dan bookmark adalah Anda biasanya ingin menautkan atau menandai halaman konten tertentu di dalam frameset, tanpa kehilangan frameset itu sendiri. Tidak ada cara mudah untuk melakukan itu.
Alasan bingkai menjadi populer di tempat pertama adalah karena mereka memungkinkan header dan menu diposisikan secara statis dengan area konten bergulir. Tetapi itu dapat dicapai dengan lebih mudah dengan CSS saat ini. Selain itu, bingkai memungkinkan Anda menggunakan elemen umum seperti logo dan menu pada banyak halaman tanpa menggunakan pengkodean sisi server. Ini merupakan keuntungan pada saat pengkodean sisi server sangat membosankan dan rentan kesalahan (yaitu skrip CGI), dan banyak host tidak mengizinkan skrip sisi server sama sekali. Hari ini dengan Content Management Systems (CMS) dan platform sisi server yang lebih baik, ini jauh lebih baik ditangani di sisi server.
Jadi pada dasarnya tidak ada keuntungan menggunakan frameset, hanya banyak masalah.
IFrames dapat digunakan dengan cara yang sama seperti frameset digunakan, dan dalam kasus itu mereka juga mengarah ke masalah yang sama. Tetapi ada juga banyak penggunaan sah iframe yang tidak mengarah pada masalah yang sama.