Saya punya pertanyaan diajukan kepada saya hari lain oleh programmer lain. Saya ingat (dulu sekali) bertanya-tanya hal yang sama. Mengapa tag menyertakan sisi browser tidak pernah dipertimbangkan? Atau apakah itu?
Khususnya dengan tag yang menginstruksikan browser untuk memasukkan HTML tambahan dari sumber lain. mis <include src="http://server/foo/bar.html">
. Banyak orang akan melakukan panggilan javascript dan mengisi innerHTML
untuk melakukan hal yang sama, ketika hal yang sama di luar mesin javascript dapat dilakukan oleh browser.
Itu akan menjadi menyakitkan telah bersarang <HTML>
s <BODY>
s (yaitu) tapi kita harus mempertimbangkan aspek yang mana saja pula.
Jawaban:
Apakah saya orang terakhir di bumi yang mengingat (hanya Netscape 4 )
layer
danilayer
tag?Netscape 4 juga memungkinkan para
div
tag memilikisrc
atribut yang dilakukan hal yang sama.Netscape mengirimkannya ke W3C, yang memilih untuk tidak memasukkannya — gunakan
iframe
saja.sumber
document
objek terpisah tunduk pada Kebijakan Asal yang Sama; mereka secara efektif merupakan iframe yang dapat diposisikan.Itu pasti diminta oleh setiap penulis web pemula yang belum bekerja di Server Side Include, kembali pada hari-hari awal di daftar www-html. Tetapi pada hari-hari itu W3 senang sepenuhnya mengabaikan tekanan penulis web.
Jika inklusi lintas situs diizinkan, itu akan menjadi bencana keamanan. Anda bisa menarik halaman dari bank pengguna dan membaca konten darinya. (Awalnya, skrip DOM terbatas, tetapi Anda masih bisa membaca dari
document.links
,,document.images
fungsi skrip dijatuhkan oleh halaman target, dll. Sejak itu, Anda dapat melakukan apa yang Anda suka dengan konten yang diimpor.)Jika inklusi lintas-situs tidak diizinkan ... yah maka fitur tidak akan memiliki keuntungan lebih dari sisi server. Akan lebih, kerja lebih lambat bagi klien untuk melakukan hal yang seharusnya ditangani server dengan lebih baik. Tidak seperti
<iframe>
, sebuah menyertakan harus memblokir pemuatan halaman. SSI akan lebih unggul dalam segala hal.sumber
Mereka lakukan. Itu menjadi
<frameset>
tag. Tidak lama kemudian, mereka menambahkan<iframe>
tag.Sebagian besar server web awal yang mendukung server-side meliputi, jadi sebuah tekstual sisi klien kemungkinan dianggap tidak perlu, mengingat bahwa fungsionalitas yang sama tersedia juga dengan bingkai.
sumber
<iframe>
. Itulah apa itu untuk . Ini benar-benar tidak jauh berbeda dari<div>
denganoverflow:auto;
Objek masih merender dalam bingkai dan Anda tidak memiliki akses DOM ke "data." Apa yang seharusnya diberikan pengembang bertahun-tahun yang lalu adalah cara untuk memasukkan cuplikan dengan tag sederhana. Bahkan jika tag ini memiliki batasan kotak pasir domain, akan sangat berguna untuk mengelompokkan fitur, meningkatkan pemeliharaan, dan memanfaatkan caching peramban.
Saya tahu ada banyak plugin jquery bagus yang melakukan ini dan banyak skrip sisi server, tetapi tidak ada alasan bagus untuk tidak mendukung tag semacam itu. IMO itu pertanyaan yang bagus, "Mengapa tidak ada tag sisi klien termasuk?"
Jika Anda suka jquery di sini adalah sisi klien yang baik termasuk skrip: inc: Sisi klien yang sangat kecil termasuk plugin JavaScript jQuery
sumber
Sudahkah Anda mencoba
Saya pikir itu diterapkan di sebagian besar browser.
sumber
Varian pada
<include>
tag memang dipertimbangkan dalam sejarah awal HTML , tetapi mereka tidak pernah terlalu jauh.sumber