24/05/2018, 14:23

Đối tượng navigator- window- location-frame

0 Đối tượng này được sử dụng để đạt được các thông tin về trình duyệt như số phiên bản. Đối tượng này không có phương thức hay chương trình xử lý sự kiện. Các thuộc tính ...

0

Đối tượng này được sử dụng để đạt được các thông tin về trình duyệt như số phiên bản. Đối tượng này không có phương thức hay chương trình xử lý sự kiện.

Các thuộc tính

appCodeName Xác định tên mã nội tại của trình duyệt (Atlas).
AppName Xác định tên trình duyệt.
AppVersion Xác định thông tin về phiên bản của đối tượng navigator.
userAgent Xác định header của user - agent.

Ví dụ sau sẽ hiển thị các thuộc tính của đối tượng navigator

<HTML>

<HEAD>

<TITLE> Navigator Object Exemple </TITLE>

<SCRIPT LANGUAGE= "JavaScript">

document.write("appCodeName = "+navigator.appCodeName + "<BR>");

document.write("appName = "+navigator.appName + "<BR>");

document.write("appVersion = "+navigator.appVersion + "<BR>");

document.write("userAgent = "+navigator.userAgent + "<BR>");

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>

Đối tượng window như đã nói ở trên là đối tượng ở mức cao nhất. Các đối tượng document, frame, vị trí đều là thuộc tính của đối tượng window.

Các thuộc tính

  • defaultStatus - Thông báo ngầm định hiển thị lên trên thanh trạng thái của cửa sổ
  • Frames - Mảng xác định tất cả các frame trong cửa sổ.
  • Length - Số lượng các frame trong cửa sổ cha mẹ.
  • Name - Tên của cửa sổ hiện thời.
  • Parent - Đối tượng cửa sổ cha mẹ
  • Self - Cửa sổ hiện thời.
  • Status - Được sử dụng cho thông báo tạm thời hiển thị lên trên thanh thạng thái cửa sổ. Đựơc sử dụng để lấy hay đặt lại thông báo trạng thái và ghi đè lên defaultStatus.
  • Top - Cửa sổ ở trên cùng.
  • Window - Cửa sổ hiện thời.

Các phương thức

  • alert ("message") -Hiển thị hộp hội thoại với chuỗi "message" và nút OK.
  • clearTimeout(timeoutID) -Xóa timeout do SetTimeout đặt. SetTimeout trả lại timeoutID
  • windowReference.close -Đóng cửa sổ windowReference.
  • confirm("message") -Hiển thị hộp hội thoại với chuỗi "message", nút OK và nút Cancel. Trả lại giá trị True cho OK và False cho Cancel.
  • [windowVar = ][window]. open("URL", "windowName", [ "windowFeatures" ] ) - Mở cửa sổ mới.
  • prompt ("message" [,"defaultInput"]) - Mở một hộp hội thoại để nhận dữ liệu vào trường text.
  • TimeoutID = setTimeout(expression,msec) - Đánh giá biểu thức expresion sau thời gian msec.

Ví dụ: Sử dụng tên cửa sổ khi gọi tới nó như là đích của một form submit hoặc trong một Hipertext link (thuộc tính TARGET của thẻ FORM và A).

Trong ví dụ tạo ra một tới cửa sổ thứ hai, như nút thứ nhất để mở một cửa sổ rỗng, sau đó một liên kết sẽ tải file doc2.html xuống cửa sổ mới đó rồi một nút khác dùng để đóng của sổ thứ hai lại, ví dụ này lưa vào file window.html:

<HTML>

<HEAD>

<TITLE>Frame Example </TITLE>

</HEAD>

<BODY>

<FORM>

<INPUT TYPE="button" VALUE="Open Second Window" onClick="msgWindow= window.open(','window2','resizable=no,awidth=200,height=200')">

<P>

<A HREF="doc2.html" TARGET="window2">

Load a file into window2 </A>

</P>

<INPUT TYPE="button" VALUE="Close Second Window"

onClick="msgWindow.close()">

</FORM>

</BODY>

</HTML>

Hình 6.3: Minh hoạ cho đối tượng cửa sổ

Các chương trình xử lý sự kiện

  • onLoad - Xuất hiện khi cửa sổ kết thúc việc tải.
  • onUnLoad - Xuất hiện khi cửa sổ được loại bỏ.

Các thuộc tính của đối tượng location duy trì các thông tin về URL của document hiện thời. Đối tượng này hoàn toàn không có các phương thức và chương trình xử lý sự kiện đi kèm. Ví dụ:

http:// www.abc.com/ chap1/page2.html#topic3

Các thuộc tính

  • hash - Tên anchor của vị trí hiện thời (ví dụ topic3).
  • Host - Phần hostname:port của URL (ví dụ www.abc.com ). Chú ý rằng đây thường là cổng ngầm định và ít khi được chỉ ra.
  • Hostname - Tên của host và domain (ví dụ www.abc.com ).
  • href - Toàn bộ URL cho document hiện tại.
  • Pathname - Phần đường dẫn của URL (ví dụ /chap1/page2.html).
  • Port - Cổng truyền thông được sử dụng cho máy tính host, thường là cổng ngầm định.
  • Protocol - Giao thức được sử dụng (cùng với dấu hai chấm) (ví dụ http:).
  • Search - Câu truy vấn tìm kiếm có thể ở cuối URL cho các script CGI.

Một cửa số có thể có một vài frame. 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ính

  • frames - Mảng tất cả các frame trong cửa sổ.
  • Name - Thuộc tính NAME của thẻ <FRAME>
  • Length - Số lượng các frame con trong một frame.
  • Parent - Cửa sổ hay frame chứa nhóm frame hiện thời.
  • self - frame hiện thời.
  • Window - frame hiện thời.

Các phương thức

  • clearTimeout (timeoutID) - Xoá timeout do setTimeout lập. SetTimeout trả lại timeoutID.
  • TimeoutID = setTimeout (expression,msec) - Đánh giá expression sau khi hết thời gian msec.

Sử dụng Frame

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.

Ví dụ1: tạo frame

<HTML>

<HEAD>

<TITLE>Frame Example </TITLE>

<FRAMESET ROWS="90%,10%">

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

<FRAME SRC=CATEGORY.HTM NAME="ListFrame">

<FRAME SRC=TITLES.HTM NAME="contentFrame">

</FRAMESET >

<FRAME SRC=NAVIGATOR.HTM NAME="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.

ToplistFrame (category.html)contentFrame (titles.html)navigatorFrame (navigator.html)

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]

Hình 6.4: Kết quả việc tạo frame trong

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 NAME="upperFrame">

<FRAME SRC=NAVIGATOR.HTM NAME="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=CATEGORY.HTM NAME="ListFrame">

<FRAME SRC=TITLES.HTM NAME="contentFrame">

</FRAMESET >

</HEAD>

<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:

topupperFrame (muske13.html)navigatorFrame (navigator.html)listFrame (category.html)contentFrame (titles.html)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à upperFrame.frames[0]

hoặc top.frames[0].frames[0]

contentFrame chính là upperFrame.frames[1]

hoặc top.frames[0].frames[1]

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:

<INPUT 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ại.

0