Đối tượng frame

Một phần của tài liệu Bài giảng môn lập trình mạng (Trang 40)

Một cửa số có thể có một vài framẹ Các frame có thể cuộn một cách độc lập với nhau và mỗi frame có URL riêng. frame không có các chương trình xử lý sự kiện. Sự kiện onLoad và onUnLoad là của đối tượng window.

CÁC THUỘC TÍN H

o frames - Mảng tất cả các frame trong cửa sổ. o N ame - Thuộc tính N AME của thẻ <FRAME> o Length - Số lượng các frame con trong một framẹ o Parent - Cửa sổ hay frame chứa nhóm frame hiện thờị o self - frame hiện thờị

o Window - frame hiện thờị CÁC PHƯƠN G THỨC

o clearTimeout (timeoutID) - Xoá timeout do setTimeout lập. SetTimeout trả lại timeoutID.

o TimeoutID = setTimeout (expression,msec) - Đánh giá expression sau khi hết thời gian msec.

SỬ DỤN G FRAME

3.13.4.1. Tạo một frame (create)

Để tạo một frame, ta sử dụng thẻ FRAMESET. Mục đích của thẻ này là định nghĩa một tập các frame trong một trang.

ng

Ví dụ1: tạo frame ( hình 17) <HTML>

<HEAD>

<TITLE>Frame Example </TITLE> <FRAMESET ROWS="90%,10%">

<FRAMESET COLS="30%,70%">

<FRAME SRC=CATEGORỴHTM N AME="ListFrame"> <FRAME SRC=TITLES.HTM N AME="contentFrame">

</FRAMESET >

<FRAME SRC=N AVIGATOR.HTM N AME="navigateFrame"> </FRAMESET >

</HEAD>

<BODY> </BODY> </HTML>

Sơ đồ sau hiển thị cấu trúc của các frame: Cả 3 frame đều trên cùng một cửa sổ cha, mặc dù 2 trong số các frame đó nằm trong một frameset khác.

Bạn có thể gọi tới những frame trước đó bằng cách sử dụng thuộc tính frames như sau: listFrame chính là top.frames[0] contentFrame chính là top.frames[1] navigatorFrame chính là top.frames[2] Top listFrame (categorỵhtml) contentFrame (titles.html) navigatorFrame (navigator.html)

ng

Ví dụ 2: Cũng giống như một sự lựa chọn, bạn có thể tạo ra một cửa sổ giống như ví dụ trước nhưng trong mỗi đỉnh của hai frame lại có một cửa sổ cha riêng từ navigateFrame. Mức frameset cao nhất có thể được định nghĩa như sau:

<HTML> <HEAD>

<TITLE>Frame Example </TITLE> <FRAMESET ROWS="90%,10%">

<FRAME SRC=muske13.HTML N AME="upperFrame"> <FRAME SRC=N AVIGATOR.HTM N AME="navigateFrame"> </FRAMESET >

</HEAD> <BODY> </BODY> </HTML>

Trong file muske13.html lại tiếp tục đặt một frameset: <HTML>

<HEAD>

<TITLE>Frame Example </TITLE> <FRAMESET COLS="30%,70%">

<FRAME SRC=CATEGORỴHTM N AME="ListFrame"> <FRAME SRC=TITLES.HTM N AME="contentFrame"> </FRAMESET > (adsbygoogle = window.adsbygoogle || []).push({});

ng

<BODY> </BODY> </HTML>

Khi đó kết quả hiển thị của ví dụ 2 giống ví dụ 1 nhưng sự phân cấp của các frames lại khác hẳn:

Bạn có thể gọi tới các frame trên bằng cách sử dụng thuộc tính mảng frames như sau:

upperFrame chính là top.frames[0] navigatorFrame chính là top.frames[1] listFrame chính là upperFramẹframes[0] hoặc top.frames[0].frames[0] contentFrame chính là upperFramẹframes[1] hoặc top.frames[0].frames[1] 3.13.4.2. Cập nhật một frame (update)

Bạn có thể cập nhật nội dung của một frame bằng cách sử dụng thuộc tính location để đặt địa chỉ URL và phải định chỉ rõ vị trí của frame trong cấu trúc.

Trong ví dụ trên, nếu bạn thêm một dòng sau vào navigatorFrame:

<IN PUT TYPE="button" VALUE="Titles only" onClick="top.frames[0].location='artist.html'"> thì khi nút “Titles only” được nhấn, file artist.html sẽ được tải vào upperFrame, và hai frame listFrame, contentFrame sẽ bị đóng lại như chúng chưa bao giờ tồn tạị

Một phần của tài liệu Bài giảng môn lập trình mạng (Trang 40)