Bab 10 Frame
Netscape pertama kali memperkenalkan ekstensi HTML untuk mendukung
kemampuan menampilkan frame (kerangka) pada Netscape Navigator
versi 2.0. Frame memungkinkan layar browser dibagi-bagi menjadi
beberapa bagian yang masing-masing berdiri sendiri dan tidak
saling mempengaruhi.
Untuk membuat frame, diperlukan tiga hal penting; tag <FRAMESET>,
tag <FRAME> dan file-file HTML untuk masing-masing framenya.
Dokumen untuk frame-frame, yang selanjutnya disebut dokumen frame,
tidak lain adalah dakumen HTML biasa, namun dengan perbedaan tag
<BODY> diganti dengan container tag<FRAMESET> yang menunjukkan sub
-dokumen untuk suatu frame.
<HTML>
<HEAD>
<FRAMESET>
{isi frame}
</FRAMESET>
</HTML>
Isi frame sendiri ditentukan dengan tag <FRAME>
<HTML>
<HEAD>
</HEAD>
<FRAMESET>
<FRAME>
<FRAME>
l
<FRAME>
</FRAMESET>
</HTML>
Secara umum perintah untuk membuat frame tidak terlalu berbeda
dengan perintah HTML untuk membuat tabel seperti yang kita
pelajari pada bab 8.
Akhir-akhir ini, untuk alasan yang memang masuk akal, muncul
kecenderungan bagi para para penulis dokumen web untuk
menghindari penggunaan frame dalam dokumen. Ini lebih banyak
disebabkan oleh keluhan banyak pengguna web bahwa frame membuat
ruang dalam browser menjadi sempit dan "tidak lapang lagi".
Muncullah istilah "frameless web pages" atau "frame free pages"
bagi dokumen-dokumen web yang "bebas frame".
Pergunakanlah frame dalam dokumen web anda seperlunya saja.
Perintah <Frameset>
Dokumen frame tidak memiliki container tag<BODY>,sebagai gantinya
maka perintah yang menjadi container tag untuk sebuah frame
adalah <FRAMESET>. Semua yang ada diantara tag <FRAMESET> dan
</FRAMESET> akan ditampilkan dalam satu frame tertentu.
Ada dua atribut untuk perintah <FRAMESET>, yaitu ROWS dan COLS
(untuk menentukan baris dan kolom).Pernyataan ROWS perlu mendapat
masukan nilai-nilai yang menentukan tinggi frame. Nilai-nilai ini
bisa berupa jumlah pixel, persentase dari tinggi layar browser,
atau nilai ukuran relatif.
Sebagai contoh, perintah di bawah ini akan membuat layar browser
terbagi menjadi tiga frame, atas, tengah dan bawah, dengan tinggi
frame atas 20% tinggi layar, frame tengah 60% tinggi layar, dan
frame bawah 20% tinggi layar.
<FRAMESET ROWS="150,100,*">
Perintah di atas akan membuat tiga buah frame, yang paling atas
tinggi 150 pixel, frame yang tengah 100 pixel, dan frame yang
paling bawah memiliki tinggi sisanya. Tanda "*" menunjukkan bahwa
suatu frame memiliki nilai relatif, yaitu nilai yang tersisa dari
ukuran layar. Misalkan tinggi layar adalah 300 pixel, maka yang
tersisa untuk frame bawah adalah 300-(150+100)=50 pixel. Frame
tengah ini tingginya akan berubah-ubah sesuai tinggi layar yang
dipergunakan.
Bilamana ada beberapa (lebih dari satu) frame yang berukuran
relatif, maka ruang yang tersisa dibagi sama untuk mereka semua.
Pembagian ruang sisa dapat pula diatur dengan meletakkan angka di
depan tanda *, misalnya perintah
<FRAMESET ROWS="150,2*,*">
Apakan membagi layar menjadi tiga frame, dengan frame pertama
memiliki tinggi 150 pixel, frame tengah memiliki 2/3 sisa tinggi
layar, dan sisanya 1/3 untuk frame bawah.
Untuk membuat frame vertikal, kita mempergunakan pernyataan COLS.
tidak berbeda dengan ROWS, kita harus menunjukkan ukuran frame
yang diinginkan.
<FRAME COLS="200,*">
Perintah di atas akan membagi layar menjadi dua frame
Perintah <FRAME>
Suatu frame didefinisikan dengan open tag<FRAME>.Ada enam atribut
untuk <FRAME>, yaitu SRC, NAME, MARGINWIDTH, MARGINHEIGHT,
SCROLLING dan NORESIZE. Semua akan dijelaskan satu persatu.
*SRC. Atribut ini menunjukkan dokumen yang hendak ditampilkan
dalam frame.
*NAME. Atribut ini memberi nama suatu frame. Penamaan frame
diperlukan agar frame dapat dijadikan target link ( dengan
tag <TARGET>)dari dokumen lain.
* MARGINWIDTH dan MARGINHEIGHT. Dipergunakan untuk mengatur
margin frame dalam pixel.
* SCROLLING. Atribut ini menentukan apakah frame akan diberi
scroll bar atau tidak. Nilai yang diberikan untuk
atribut ini
berupa pernyataan yes atau no atau auto.
* NORESIZE. Dipergunakan untuk mencegah frame agar tidak dapat
diresize (diubah ukuranya)oleh pengguna dokumen.
Lihatlah contoh berikut;
<FRAMESET COLS="20%,80%>
<FRAME SRC="dokumen1.html" NAME="kiri">
<FRAME SRC="dokumen2.html" NAME="kanan">
</FRAMESET>
Perintah di atas menghasilkan dokumen yang terbagi dua frame,kiri
dan kanan masing-masing 20% dan 80% lebar jendela browser.
Karena setiap frame telah memiliki nama sendiri-sendiri (yang
disebutkan dalam pernyataan NAME), maka kita sekarang dapat
membuat link dari suatu dokumen ke frame-frame tersebut tanpa
mempengaruhi frame lainya, dengan atribut TARGET.
<A HREF=dokumen3.html" TARGET="kanan"></A>
Bila link di atas dijalankan, file dokumen "dokumen3.html" akan
ditampilkan pada frame yang bernama "kanan",sedangkan frame-frame
lain tidak terpengaruh. Alternatif lain, bila semua link yang ada
pada suatu dokumen hendak ditampilkan di frame yang sama, kita
dapat mempergunakan perintah <BASE TARGET> untuk menggantikan
atribut TARGET pada setiap tag <A> (jadi tidak perlu menuliskan
TARGET dalam setiap link).
<BASE TARGET="kanan">
<A HREF="dokumen3.html">dokumen3.html</A>
<A HREF="dokumen4.html">dokumrn4,html</A>
Kita dapat pula membuat beberapa frame yang berada di dalam
sebuah frame lain yang lebih besar. Caranya dengan tag <FRAMESET>
diletakkan di dalam tag <FRAMESET>lainya. Dalam hal ini sub frame
<FRAMESET> akan diperlakukan sebagaimana sebuah tag <FRAME>.
<FRAMESET COLS="50%,50%">
<FRAMESET ROWS=50%,50%">
<FRAME SRC="dokumen1.html" NAME="frame1">
<FRAME SRC="dokumen2.html" NAME="frame2">
</FRAMESET>
<FRAMESET ROWS="33%,33%,33%">
<FRAME SRC="dokumen3.html" NAME="frame3">
<FRAME SRC="dokumen4.html" NAME="frame4">
<FRAME SRC="dokumen5.html" NAME="frame5">
</FRAMESET>
</FRAMESET>
Bordeless Frame
Mulai versi 3.0, Netscape Navigator memiliki kemampuan tambahan
untuk frame ini , yaitu kemampuan " tanpa batas pinggir "
(borderless), yang membuat frame-frame pada layar nampak seolah
menyatu dengan frame-frame lain, tanpa adanya garis pemisah antar
frame.
Kita cukup menambahkan border=0 pada tag <FRAME>, dan frame
tersebut akan ditampilkan tanpa garis pemisah.
<FRAME SRC="dokumen1.html" BORDER=0>
Nilai BORDER dapat pula dibuat misalnya =3 untuk membuat garis
pinggir frame menjadi lebih besar daripada biasanya. Nilai yang
diterima antara 0 sampai dengan 7.
Sejauh ini kita telah berhasil membuat dokumen dengan
memanfaatkan kemampuan frame Netscape 2.0. (yang juga telah
didukung oleh Microsoft Internet Explorer 3.0.) Sayangnya,dokumen
dengan frame semacam ini tidak dapat dibaca oleh semua browser,
terutama browser-browser keluaran lama yang tidak menganali
frame.
Agar para pengguna browser "kuno" ini tetap dapat membaca dokumen
kita, kita pergunakanlah container tag<NOFRAMES>ke dalam dokumen.
Semua teks yang ada di dalam container tag <NOFRAMES> dan
</NOFRAMES> hanya akan ditampilkan pada browser yang tidak dapat
menampilkan frame.
<NOFRAMES>
<H1>Maaf, browser anda tidak dapat mengenali frame</H1>
<H2>Pergunakanlah Netscape Navigator 3.0. atau Microsoft
Internet Explorer 3.0. untuk membaca dokumen ini</h2>
</NOFRAMES>
Memang tag <NOFRAMES> tidak akan memiliki pengaruh apa-apa
terhadap program browser yang dapat menampilkan frame, dan
karenanya kebanyakan penulis dokumen HTML enggan atau merasa
"tidak perlu" untuk menambahkan container <NOFRAMES> semacam ini.
Namun begitu, alangkah baiknya bila kita tetap menempatkan
<NOFRAMES> ke dalam dokumen kita, semata - mata agar pengguna
browser "kuno" dapat mengetahui bahwa dokumen kita memang tidak
dirancang untuk browser mereka. Lagipula, ini sebuah kebiasaan
pemrograman yang baik.
(kembali ke katalog)
|