HTML Academy · Pelajaran

Elemen iframe src dan sandbox

Benamkan halaman pihak ketiga dan hadkan keupayaannya

Pelajaran 1 daripada 413 langkah

Elemen iframe src dan sandbox ialah pelajaran HTML Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran HTML Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus HTML Academy merangkumi sejumlah 4 pelajaran.

Apakah iframe?

Elemen <iframe> membenamkan dokumen HTML lain dalam halaman semasa. Setiap iframe mempunyai konteks pelayaran, DOM dan skop JavaScript tersendiri. Kandungan dalam iframe tidak boleh mengakses DOM halaman induk tanpa kebenaran yang jelas.

Penggunaan Asas iframe

Tetapkan atribut src kepada URL yang hendak dibenamkan: <iframe src="https://example.com" width="800" height="600">. iframe mencipta konteks pelayaran baharu. Atribut title diperlukan untuk kebolehcapaian: title="Embedded map".

Atribut sandbox

sandbox mengenakan sekatan pada kandungan iframe: skrip, borang, tetingkap timbul dan pemalam dilumpuhkan secara lalai. Tambahkan kebenaran khusus untuk memulihkan keupayaan tertentu: sandbox="allow-scripts allow-same-origin".

Kebenaran Sandbox

allow-scripts: membolehkan JavaScript. allow-same-origin: membolehkan iframe dianggap berasal daripada asal yang sama (diperlukan untuk mengakses localStorage). allow-forms: membolehkan penghantaran borang. allow-popups: membolehkan window.open(). Berikan hanya kebenaran minimum yang diperlukan.

iframe Merentas Asal

iframe merentas asal tidak boleh mengakses DOM induk — parent.document menghasilkan ralat keselamatan. Komunikasi antara bingkai merentas asal menggunakan postMessage: iframe.contentWindow.postMessage(data, origin).

Komunikasi postMessage

Hantar mesej daripada induk kepada iframe: iframe.contentWindow.postMessage({ type: "update", data: {} }, "https://embed.example.com"). Dalam iframe, dengarkan mesej tersebut: window.addEventListener("message", handler). Sentiasa sahkan event.origin sebelum memprosesnya.

Pemuatan Malas iframe

loading="lazy" pada iframe menangguhkan pemuatan sehingga iframe hampir dengan ruang pandang — sekali gus mengurangkan pemuatan awal halaman. Ini berguna untuk peta, benaman video dan widget media sosial di bahagian bawah halaman yang tidak kelihatan dengan serta-merta.

Prestasi iframe

Setiap iframe memuatkan dokumen HTML, CSS, JavaScript dan aset yang berasingan — kos sumber yang ketara. Elakkan iframe untuk kandungan yang boleh dibenamkan sebagai coretan. Muatkan iframe secara malas jika berada di luar paparan awal. Pertimbangkan corak fasad (tunjukkan ruang letak, muatkan apabila diklik).

Kawalan Penatalan

Kawal tingkah laku penatalan iframe: scrolling="no" melumpuhkan bar tatal (tidak digunakan lagi; gunakan CSS overflow: hidden pada iframe). Pendekatan moden: tetapkan ketinggian iframe supaya sepadan dengan ketinggian kandungan, lalu menghapuskan keperluan untuk bar tatal dalaman.

Atribut allow

Atribut allow memberikan ciri Dasar Kebenaran kepada iframe: allow="camera; microphone; fullscreen". Ini membolehkan iframe meminta akses kamera, akses mikrofon dan API skrin penuh walaupun asal induk tidak menggunakan ciri ini.

Membenamkan YouTube dan Google Maps

YouTube dan Google Maps menyediakan kod benaman iframe. Kod ini menyertakan atribut allow untuk skrin penuh dan autoplay. Sentiasa tambahkan title="Video title" untuk kebolehcapaian pembaca skrin. Atribut sandbox biasanya tidak ditambahkan pada kod benaman pihak ketiga — semak dokumentasi mereka untuk panduan keselamatan.

Semakan Pengetahuan

Apakah yang dilakukan oleh atribut sandbox terhadap iframe secara lalai tanpa sebarang nilai?

Ringkasan

iframe membenamkan dokumen luaran dalam konteks penyemakan imbas yang terpencil. Atribut sandbox mengehadkan keupayaan iframe — berikan hanya kebenaran minimum yang diperlukan. postMessage membolehkan komunikasi silang asal yang selamat. Pemuatan malas menangguhkan kos sumber bagi iframe di luar paparan awal. Atribut allow memberikan ciri Dasar Kebenaran kepada benaman pihak ketiga yang dipercayai.

Percuma untuk bermula

Pelajari HTML dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
40
Pelajaran
159

Soalan Lazim

Adakah pelajaran “Elemen iframe src dan sandbox” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran HTML Academy, termasuk “Elemen iframe src dan sandbox”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus HTML Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Elemen iframe src dan sandbox”?

Benamkan halaman pihak ketiga dan hadkan keupayaannya Anda berlatih HTML Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan HTML Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran HTML Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Elemen iframe src dan sandbox” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran HTML Academy ini?

Ya. Setiap pelajaran HTML Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Elemen iframe src dan sandbox
  2. Keselamatan iframe Serangan Clickjacking dan X-Frame-Options
  3. Elemen embed dan object
  4. Pemuatan Malas iframe
← Kembali ke HTML Academy