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)

---------------------------

HTML 3
UNTUK PUBLIKASI DI INTERNET
Oleh DIOS KURNIAWAN
Edisi Pertama, Maret 1997
Dicetak & Diterbitkan
BPFE-YOGYAKARTA
Yogyakarta
Anggota IKAPI
No-003
---------------------------
      

Copyright ada pada penulis