Dalam kontekspenyemak imbas web,frame ("bingkai") ialah sebahagian daripadahalaman web atautetingkap penyemak imbas yang memaparkan kandungan secara bebas daripada bekasnya, dengan keupayaan untuk memuatkan kandungan secara bebas.HTML atau elemen media yang ditunjukkan dalam bingkai mungkin berasal daritapak web yang berbeza dengan elemen kandungan lain yang dipamerkan, walaupun amalan ini kini sering dianggap sebagai pelanggarandasar asal sama dan mempunyai telah dianggap sebagai satu bentukpelanggaran hak cipta.
DalamHTML,frameset ialah sekumpulan bingkai bernama yang mana halaman web dan media boleh diarahkan, daniframe pula menyediakan bingkai untuk diletakkan di dalam badan dokumen.
Sejak awal 2000-an, penggunaan set bingkai telah dianggap usang disebabkan oleh kebimbangan kebolehgunaan dan ketercapaian, dan ciri tersebut telah dibuang daripada piawaianHTML5.
Frame dalam HTML dibuat menggunakan pasangan tag<frameset></frameset>
. Teg<frameset>
ialah teg bekas bagi semua teg lain yang digunakan untuk membuat bingkai. Teg<frameset>
menggantikan teg<body>
dalam dokumenframeset. Teg<frameset>
mentakrifkan cara membahagikan tetingkap kepada bingkai.
Setiapframeset mentakrifkan satu set baris atau lajur. Jika pengguna mentakrifkan bingkai dengan menggunakan atributrows,
maka bingkai mendatar dicipta. Jika pengguna mentakrifkan bingkai dengan menggunakancols
maka bingkai menegak dicipta.
<noframes>
mungkin disertakan supaya pelayar web dengan bingkai dinyahkan (atau penyemak imbas yang tidak menyokong bingkai) boleh memaparkan sesuatu kepada pengguna, seperti dalam contoh ini:
<framesetcols="85%, 15%"><framesrc="http://www.example.com/frame_1.html"name="frame_1"><framesrc="http://alt.example.com/frame_2.html"name="frame_2"><noframes> frame tidak disokong oleh pelayar web anda.<ahref="http://www.example.com/frame_1.html">Klik di sini</a> untuk melihat ''frame'' 1.<ahref="http://alt.example.com/frame_2.html">Klik di sini</a> untuk melihat ''frame'' 2.</noframes></frameset>
Frameset mempunyai atributborder
(jidar/sempadan). Jika ditetapkan kepada integer lebih besar daripada 0, pengguna boleh mengubah saiz bingkai dengan menyeret jidar ini, melainkan atributnoresize
hadir dalam elemenframe. Jika nilai ditetapkan kepada 0, tiada sempadan akan dipaparkan dan kandungan dalam bingkai berbeza akan bersempadan antara satu sama lain tanpa persempadanan semula.Unsuriframe
digunakan sebaris dalam badan HTML biasa, dan mentakrifkan kandungan awal dan nama sama dengan elemenframe
. Sebarang teks di dalam pasangan teg<iframe></iframe>
akan dipaparkan dalam penyemak imbas yang tidak dapat mengenal pasti tegiframe.
<iframesrc="http://www.example.com/frame_1.html"height="480"width="640"> iframes tidak disokong oleh pelayar web anda.<ahref="http://www.example.com/frame_1.html">Klik di sini</a> untuk melihat kandungan.</iframe>
Apabila teknologi web berkembang, banyak tujuan penggunaan bingkai menjadi mungkin dengan cara yang mengelakkan masalah yang dikenal pasti dengan bingkai.
overflow
) atau dipegang pada skrin semasa kandungan lain ditatal (menggunakanposition:fixed
)Tidak semua masalah yang dikenal pasti denganframeset selesai dengan pendekatan alternatif ini; contohnya isu dengan navigasi belakang hadapan, penanda halaman dan pengindeksan kekal di banyak tapak yang banyak menggunakan navigasi DHTML/AJAX.