Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Belajar HTML #15 : Iframe HTML

 

 

Apa itu Iframe?

 

Iframe (singkatan dari Inline Frame) adalah sebuah elemen HTML yang berfungsi untuk menyematkan (embed) dokumen HTML lain ke dalam sebuah halaman web. Bayangkan Anda memiliki sebuah “jendela” di dalam halaman Anda, dan di dalam jendela tersebut, Anda bisa menampilkan konten dari halaman web lain secara utuh.

Kapan Iframe biasa digunakan?

  • Menyematkan video dari platform seperti YouTube atau Vimeo.
  • Menyematkan peta interaktif dari Google Maps.
  • Menyematkan konten media sosial seperti postingan Instagram atau timeline Twitter.
  • Menampilkan iklan dari jaringan periklanan pihak ketiga.
  • Menampilkan dokumen PDF langsung di browser.

 

Struktur Dasar dan Atribut Utama

 

Struktur tag <iframe> cukup sederhana. Berbeda dengan <img>, tag ini memiliki tag pembuka dan penutup. Konten yang diletakkan di antara <iframe> dan </iframe> akan ditampilkan sebagai fallback jika browser pengguna tidak mendukung iframe.

HTML

<iframe src="url_halaman_yang_disematkan">
    Browser Anda tidak mendukung Iframe.
</iframe>

Berikut adalah atribut-atribut utamanya:

  • src (Source): Ini adalah atribut paling penting, yang berisi URL dari halaman yang ingin Anda sematkan di dalam frame.
  • width dan height: Mengatur lebar dan tinggi dari “jendela” iframe dalam satuan piksel.
  • title: Atribut ini sangat penting untuk aksesibilitas. Screen reader akan membacakan judul ini untuk memberitahu pengguna (terutama yang memiliki gangguan penglihatan) tentang konten apa yang ada di dalam iframe tersebut.
  • style="border:none;": Secara default, beberapa browser lama mungkin menampilkan bingkai (border) di sekitar iframe. Cara modern untuk menghilangkannya adalah dengan menggunakan CSS inline ini atau melalui stylesheet eksternal.
HTML

<iframe 
    src="https://www.example.com" 
    width="600" 
    height="400" 
    title="Contoh Halaman dari Example.com"
    style="border:none;">
</iframe>

 

Contoh Praktis: Menyematkan Video dan Peta

 

Cara termudah untuk menggunakan iframe adalah dengan menyalin kode sematan (embed code) yang biasanya sudah disediakan oleh platform seperti YouTube dan Google Maps.

 

Menyematkan Video YouTube

 

  1. Buka video YouTube yang Anda inginkan.
  2. Klik tombol Bagikan (Share).
  3. Pilih opsi Sematkan (Embed).
  4. Salin kode <iframe> yang diberikan.
HTML

<iframe 
    width="560" 
    height="315" 
    src="https://www.youtube.com/embed/S_g2TEWj7a0" 
    title="YouTube video player" 
    frameborder="0" 
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
    allowfullscreen>
</iframe>

Perhatikan atribut allow dan allowfullscreen yang memberikan izin khusus kepada video tersebut untuk bisa berjalan dalam mode layar penuh.

 

Menyematkan Google Maps

 

  1. Buka Google Maps dan cari lokasi yang diinginkan.
  2. Klik tombol Bagikan (Share).
  3. Pindah ke tab Sematkan peta (Embed a map).
  4. Salin kode <iframe> yang tersedia.
HTML

<iframe 
    src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3951.3653372068987!2d112.61358471533237!3d-7.96109439426543!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2e788281bddba839%3A0x27f11ae1c73b526!2sAlun-Alun%20Tugu%20Malang!5e0!3m2!1sid!2sid!4v1722920159755!5m2!1sid!2sid" 
    width="600" 
    height="450" 
    style="border:0;" 
    allowfullscreen="" 
    loading="lazy" 
    referrerpolicy="no-referrer-when-downgrade">
</iframe>

Perhatikan atribut loading="lazy", yang memastikan peta hanya dimuat saat pengguna menggulir mendekatinya, ini sangat baik untuk performa halaman.

 

Aspek Keamanan: Atribut sandbox

 

Menyematkan konten dari situs lain membawa risiko keamanan. Konten tersebut berpotensi menjalankan skrip berbahaya atau mengarahkan pengguna ke situs lain tanpa izin. Untuk memitigasi ini, HTML5 memperkenalkan atribut sandbox.

Dengan menambahkan atribut sandbox, Anda membatasi “kekuatan” dari konten di dalam iframe.

  • sandbox (tanpa nilai): Ini akan menerapkan semua batasan yang ada, seperti memblokir skrip, formulir, pop-up, dan lain-lain.
  • sandbox="nilai": Anda bisa memberikan izin tertentu dengan menambahkan nilai. Contoh:
    • allow-forms: Mengizinkan pengiriman formulir.
    • allow-scripts: Mengizinkan eksekusi JavaScript.
    • allow-popups: Mengizinkan pop-up.
    • allow-same-origin: Mengizinkan konten untuk mengakses sumber daya dari domain yang sama.
HTML

<iframe src="konten.html" sandbox title="Konten dalam Sandbox"></iframe>

<iframe src="konten.html" sandbox="allow-scripts allow-forms" title="Konten dengan izin khusus"></iframe>

Gunakan sandbox jika Anda tidak sepenuhnya mempercayai sumber konten yang Anda sematkan.

 

Kelebihan dan Kekurangan Iframe

 

Kelebihan 👍 Kekurangan 👎
Mudah Digunakan: Cara cepat untuk menyematkan konten pihak ketiga yang kompleks (video, peta). Keamanan: Berisiko jika sumber konten tidak terpercaya. Perlu sandbox untuk mitigasi.
Isolasi Konten: Kode JavaScript dan CSS di dalam iframe tidak akan memengaruhi halaman utama Anda. Performa: Setiap iframe adalah halaman web utuh yang perlu dimuat, ini bisa memperlambat situs Anda.
Konten Asinkron: Konten pihak ketiga yang lambat tidak akan menghambat pemuatan sisa halaman Anda. SEO: Mesin pencari mungkin kesulitan mengindeks konten di dalam iframe sebagai bagian dari halaman utama Anda.
Usabilitas: Bisa “memerangkap” tombol kembali (back) browser dan sulit dibuat responsif dengan baik.

 

Kesimpulan

 

Iframe adalah alat yang sangat berguna dalam kotak peralatan pengembang web, terutama untuk mengintegrasikan layanan pihak ketiga. Namun, ia datang dengan pertimbangan keamanan dan performa yang signifikan. Gunakanlah dengan bijak:

  1. Selalu berikan atribut title yang deskriptif.
  2. Gunakan loading="lazy" untuk performa yang lebih baik.
  3. Gunakan atribut sandbox jika Anda tidak 100% yakin dengan keamanan sumber konten.
  4. Jika ada cara lain untuk mencapai hasil yang sama tanpa iframe (misalnya menggunakan API), pertimbangkan alternatif tersebut.

Pada bagian selanjutnya, kita akan melengkapi perjalanan media kita dengan membahas tag <audio> dan <video> untuk menyematkan konten yang Anda hosting sendiri! Sampai jumpa!

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_e013qke013qke013
Gemini_Generated_Image_vm3j5ivm3j5ivm3j
Gemini_Generated_Image_fl8tp6fl8tp6fl8t
Gemini_Generated_Image_levfk7levfk7levf

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek