פרק 14: האובייקט Window
·
הקדמה
·
התכונות
·
המתודות
·
טיפול
באירועים
·
האובייקט
FRAME
·
תרגילים
הקדמה
אובייקט
זה, כפי שניתן לראות בתרשים שהוצג, נמצא בראש ההיררכיה של האובייקטים שנוצרים בתוך
הדפדפן בצד הלקוח.
התכונות
התכונות
שקיימות באובייקט זה מתארות את החלון כולו.
התכונה
closed
תכונה
זו מכילה את הערך הבוליאני true
אם החלון נסגר באמצעות המתודה close().
תכונה זו שימושית כאשר נוצר יוצרים חלון חדש מתחת לחלון הפעיל, ובהמשך כאשר פונים
לתכונה או למתודה שיש בו רוצים לוודא שהחלון לא נסגר כבר. תכונה זו קיימת ב-Netscape
Nevigator החל מגרסה 3, וב-Internet
Explorer החל מגרסה 4.
התכונה
opener
תכונה
זו מכילה reference לאובייקט ה-window
אשר נמצא מעל. כאשר יוצרים חלון שהוא תת-חלון לחלון אחר אז באובייקט window שמייצג את תת החלון קיימת התכונה opener אשר מכילה reference
לאובייקט ה-window
שנמצא מעל. תכונה זו קיימת ב-Netscape Nevigator החל מגרסה 3, וב-Internet Explorer החל מגרסה 3.
התכנית
הבאה מדגימה את השימוש בתכונה opener
ובתכונה closed.
<!-- file name : windowClosedDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowClosedDemo.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.3">
var newWindow;
function openNewWindow()
{
var str;
newWindow =
window.open("", "subwindow",
"HEIGHT=200,WIDTH=400")
str =
"<HTML><BODY><H2>This is a sub-window</H2><FORM><INPUT
TYPE='button' VALUE='close main window'";
str +=
"onClick='window.opener.close()'></FORM></BODY></HTML>";
newWindow.document.write(str);
newWindow.document.close();
}
function closeWindow()
{
if
(newWindow && !newWindow.closed)
newWindow.close();
}
</SCRIPT>
</HEAD>
<BODY>
<H1>The Navigator object</H1>
<FORM NAME="myForm">
<BR>
<INPUT TYPE="button"
VALUE="Open Window" onClick="openNewWindow()">
<BR>
<INPUT TYPE="button"
VALUE="Close the sub Window" onClick="closeWindow()">
<BR>
</FORM>
</BODY>
</HTML>
התכונה
defaulStatus
הערך
שתכונה זו יכולה לקבל הוא מחרוזת תווים. תפקידה של תכונה זו הוא לקבוע את מחרוזת התווים
אשר תוצג בשורת המצב של החלון כברירת מחדל וזאת כאשר אין טקסט אחר שמוצג שם בגין
תנועת העכבר וכדומה. כאשר יוצרים אובייקט window
חדש אז הערך של תכונה זו הוא מחרוזת ריקה. התכונה קיימת ב-Internet
Explorer החל מגרסה 3, וב-Netscape
Nevigator החל מגרסה 2.
התכנית
הבאה מדגימה את השימוש בתכונה זו.
<!-- file name : windowDefaultStatusDemo.html
-->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowDefaultStatusDemo.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.3">
window.defaultStatus = "Y2K
Multimedia";
</SCRIPT>
</HEAD>
<BODY>
<H1>My search engines</H1>
<UL>
<LI><A
HREF="http://www.yahoo.com" onMouseOver="window.status='I like YAHOO';return
true"
onMouseOut="window.status='';return
true">yahoo</A></LI>
<LI><A
HREF="http://www.walla.co.il"
onMouseOver="window.status='WALLA is an israeli one';return
true"
onMouseOut="window.status='';return true">walla</A></LI>
</UL>
</BODY>
</HTML>
התכונה
document
תכונה
זו מכילה, למעשה, את ה-reference
לאובייקט ה-document
האחד והיחיד אשר קיים בכל אובייקט window.
האובייקט document יוסבר בהמשך. תכונה זו מוצגת כאן רק כדי לספק תמונה מלאה.
האובייקט document שקיים בכל מסמך נמצא בהיררכיה שהוצגה מתחת לאובייקט
window, וליתר דיוק, מהווה בו תכונה. תכונה זו קיימת ב-Netscape
Nevigator החל מגרסה 2, וב-Internet
Explorer החל מגרסה 3.
התכונה
parent
תכונה
זו מכילה reference לאובייקט ה-window
שנמצא מעל. תכונה זו שימושית כאשר בחלון אשר מהווה frame בחלון אחר רוצים לפנות לחלון האחר. התכונה נתמכת על ידי Netscape
Nevigator החל מגרסה 2, ועל ידי Internet
Explorer החל מגרסה 3.
התכונה
frames
תכונה
זו מהווה, למעשה, מערך אשר מכיל בכל אחד מאיבריו את ה-references ל-frames אשר קיימים במסמך. תכונה זו רלוונטית כאשר המסמך מורכב ממסגרות (frames). כל מסגרת מתוארת על ידי אובייקט מסוג frame, אשר דומה במתודות ובתכונות שיש בו לאובייקט מסוג window. תכונה זו נתמכת ב-Netscape Nevigator החל מגרסה 2, וב-Internet Explorer החל מגרסה 3.
התכנית הבאה מדגימה את השימוש בתכונה זו.
המסמך
הבא (יחד עם המסמך שאחריו) מדגים את השימוש בתכונה parent ובתכונה frames.
<!-- file name : windowFramesDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowFramesDemo.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.3">
window.defaultStatus = "Y2K
Multimedia";
</SCRIPT>
</HEAD>
<FRAMESET COLS="50%,50%">
<FRAME NAME="shoshy1"
SRC="windowFramesDemo2.html">
<FRAME NAME="shoshy2"
SRC="windowFramesDemo2.html">
</FRAMESET>
</HTML>
<!-- file name : windowFramesDemo2.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowFramesDemo2.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.3">
window.defaultStatus = "Y2K
Multimedia";
function getInfo()
{
var str;
str =
"<BR>window.frames.length: " + window.frames.length;
str += "<BR>window.name:
" + window.name + "<BR>";
str +=
"<BR>window.parent.frames.length: " +
window.parent.frames.length;
str +=
"<BR>window.parent.frames[0].name: " +
window.parent.frames[0].name;
str +=
"<BR>window.parent.frames[1].name: " +
window.parent.frames[1].name;
return str;
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript1.3">
document.write(getInfo());
</SCRIPT>
</BODY>
</HTML>
התכונה
history
תכונה
זו מכילה את ה-reference
לאובייקט ה-history
אשר נמצא בהיררכיה מתחת לאובייקט window.
אובייקט ה-history
יוסבר בהמשך.
התכונות
innerHeight, innerWidth,
outerHeight ו- outerWidth
ארבעת
תכונות אלה נתמכות על ידי NetscapeNevigator החל מגרסה 4. הן אינן נתמכות על ידי Internet
Explorer. התכונות innerWidth ו- innerHeight
קובעות את מימדיו הפנימיים של החלון (ממדיו של החלון הפנימי אשר מציג בתוכו את
תוכן המסמך), והתכונות outerWidth
ו- outerHeight קובעות את ממדיו החיצוניים של החלון (ממדיו של החלון שבו פועל
הדפדפן לרבות כפתוריו השונים). כל ארבעת התכונות מקבלות ערכים אשר נמדדים
בפיקסלים. התכנית הבאה מדגימה את ארבעת התכונות הללו.
<!-- file name :
windowInnerOuterHeightWidth.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowInnerOuterHeightWidth.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.3">
window.defaultStatus = "Y2K
Multimedia";
function setInner(x,y)
{
window.innerHeight = y;
window.innerWidth = x;
}
function setOuter(x,y)
{
window.outerHeight = y;
window.outerWidth = x;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<H1>innerHeight, innerWidth,
outerHeight, outerWidth</H1>
<H2>setting the inner
sizes</H2>
<INPUT TYPE="button" VALUE="600 pixels
square" onClick="setInner(600,600)">
<INPUT TYPE="button"
VALUE="500 pixels square" onClick="setInner(500,500)">
<INPUT TYPE="button"
VALUE="400 pixels square" onClick="setInner(400,400)">
<INPUT TYPE="button"
VALUE="300 pixels square" onClick="setInner(300,300)">
<INPUT TYPE="button"
VALUE="200 pixels square" onClick="setInner(200,200)">
<INPUT TYPE="button"
VALUE="100 pixels square" onClick="setInner(100,100)">
<H2>setting the outer
sizes</H2>
<INPUT TYPE="button"
VALUE="600 pixels square" onClick="setOuter(600,600)">
<INPUT TYPE="button"
VALUE="500 pixels square" onClick="setOuter(500,500)">
<INPUT TYPE="button"
VALUE="400 pixels square" onClick="setOuter(400,400)">
<INPUT TYPE="button"
VALUE="300 pixels square" onClick="setOuter(300,300)">
<INPUT TYPE="button"
VALUE="200 pixels square" onClick="setOuter(200,200)">
<INPUT TYPE="button"
VALUE="100 pixels square" onClick="setOuter(100,100)">
</FORM>
</BODY>
</HTML>
התכונה
Location
תכונה
זו מכילה בתוכה את ה-reference
לאובייקט ה-Location
אשר נמצא בהיררכיה של האובייקטים שנוצרים בדפדפן מתחת לאובייקט window. תכונה זו נתמכת גם על ידי Internet
Explorer החל מגרסה 3 ואילך, וגם על
ידי Netscape
Nevigator החל מגרסה 2 ואילך. בהמשך
יובא הסבר מפורט לאובייקט Location.
התכונות
locationbar, menubar, personalbar, scrollbars,
statusbar ו- toolbar
תכונות
אלה מכילות references
לאובייקטים אשר מתארים את מרכיביו הויזואליים השונים של הדפדפן. התכונה locationbar מתארת את אותה שורה בדפדפן אשר מכילה בתוכה את ה-URL אשר מוצג. התכונה menubar
מתארת את שורת התפריטים שיש בדפדפן (File,
Edir וכו'...). התכונה personalbar
מתארת אותה שורה בדפדפן אשר נמצאת בדרך כלל מתחת לשורת ה-URL, ומציגה קישורים כגון: what is new ? ואחרים. התכונה scrollbars
מתארת את פסי הגלילה שמופיעים בדפדפן. התכונה statusbar מתארת את שורת המצב שנמצאת בתחתיתו של הדפדפן. התכונה toolbar מתארת את הכפתורים שמופיעים בדפדפן (Back, Forward
ואחרים). תכונות אלה מתארות, למעשה, את כל מרכיביו של החלון למעט שורת הכותרת שלו
(ה-title שיש לו), ועל כן, ניתן בעזרתן להשפיע על תצוגת החלון על כל
מרכיביו למעט שורת הכותרת שלו. על שורת הכותרת של חלון קיים לא ניתן להשפיע. עם
זאת, ניתן לקבוע את הופעתה/אי הופעתה כאשר יוצרים חלון חדש.
כל
אחת מהתכונות מכילה, למעשה, reference
לאובייקט המתאים. בכל אחד מהאובייקטים קיימת תכונה ששמה visible. ערכה של תכונה זו בכל אחד מהאובייקטים (true או false)
קובע את הופעת/אי הופעת המרכיב הויזואלי המתאים בדפדפן. התכנית הבאה מדגימה את
השימוש בתכונות אלה. הגישה לתכונה visible
בכל אחד מהאובייקטים איננה מתאפשרת באופן אוטומטי, וכדי שהיא תתאפשר יש להפעיל את
המתודה/תכונה המתאימה בהתאם לדפדפן. התכנית הבאה מותאמת ל-Netscape
Navigator. התכנית לא תפעל ב-Internet
Explorere. ב-Netscape
Nevigator קיים האובייקט netscape, אשר בתכונתו security
מכיל reference לאובייקט אשר כולל את התכונה PrivilageManager, שמכילה reference
לאובייקט אשר עליו מופעלת המתודה enablePrivilage/disablePrivilage כדי לאפשר/לא לאפשר את הגישה האמורה.
<!-- file name : windowChromeElementsDemo.html
-->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowChromeElementsDemo.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.3">
defaultStatus = "Y2K
Multimedia";
function updateChrome()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");
locationbar.visible =
document.myForm.locationBarAtt.checked;
menubar.visible =
document.myForm.menuBarAtt.checked;
personalbar.visible =
document.myForm.personalBarAtt.checked;
scrollbars.visible =
document.myForm.scrollBarsAtt.checked;
statusbar.visible =
document.myForm.statusBarAtt.checked;
toolbar.visible =
document.myForm.toolBarAtt.checked;
netscape.security.PrivilegeManager.disablePrivilege("UniversalBrowserWrite"); }
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myForm">
<BR><LABEL>locationbar
:<INPUT TYPE="checkbox" onClick="updateChrome()"
NAME="locationBarAtt" checked></LABEL>
<BR><LABEL>menubar
:<INPUT TYPE="checkbox" onClick="updateChrome()"
NAME="menuBarAtt"
checked></LABEL>
<BR><LABEL>personalbar
:<INPUT TYPE="checkbox" onClick="updateChrome()"
NAME="personalBarAtt"
checked></LABEL>
<BR><LABEL>scrollbars
:<INPUT TYPE="checkbox" onClick="updateChrome()"
NAME="scrollBarsAtt"
checked></LABEL>
<BR><LABEL>statusBar
:<INPUT TYPE="checkbox" onClick="updateChrome()"
NAME="statusBarAtt"
checked></LABEL>
<BR><LABEL>toolBar
:<INPUT TYPE="checkbox" onClick="updateChrome()"
NAME="toolBarAtt"
checked></LABEL>
</FORM>
<SCRIPT LANGUAGE="JavaScript1.2">
updateChrome();
</SCRIPT>
</BODY>
</HTML>
התכונה
name
תכונה
זו מכילה מחרוזת תווים, ובאמצעותה ניתן לתת שם לחלון שמייצג האובייקט. התכונה
נתמכת על ידי Internet Explorer
החל מגרסה 3, ועל ידי Netscape Nevigator
החל מגרסה 2.
התכונה
onError
תכונה
זו קובעת באמצעות הערך שיש בתוכה את הופעת/אי הופעת חלון ההודעה על השגיאה/תקלה
בפקודות ה-JavaScript
שיש במסמך. כאשר המסמך נטען אל הדפדפן תכונה זו מכילה את הערך undefined, ומשמעות הדבר היא שחלונות הודעה על שגיאות ותקלות בפעולת פקודות
ה-JavaScript שבמסמך מופיעים בהתאם להתנהגות ברירת המחדל של הדפדפן. אם קובעים
את ערכה של התכונה כך שיהיהnull אז המשמעות היא שאם מתרחשות שגיאות/תקלות
ב- JavaScreipt אז לא יופיע חלון הודעה על כך. את ערכה של התכונה onError ניתן לקבוע גם כשווה לפונקציה ב-JavaScript. במקרה כזה הפונקציה שתצוין תופעל כל פעם שתיוצר שגיאה/תקלה באחת
משורות ה-JavaScript שמופיעות במסמך.
אפשרות
נוספת שקיימת היא להגדיר פונקציה גלובלית בשם onerror אשר מקבלת שלושה ארגומנטים (משמאל לימין): מחרוזת ההודעה על
השגיאה, ה-URL
שבו השגיאה אירעה ומספר השורה. כאשר מגדירים פונקציה כזו אז היא תופעל בכל פעם
ששגיאה/תקלה תתרחש באחת משורות ה-JavaScript
במסמך.
התכונה
onError נתמכת על ידי Netscape Nevigator החל מגרסה 3, ועל ידי Internet Explorer החל מגרסה 3. הדוגמה הבאה מציגה את השימוש בתכונה זו. כיוון
שבדוגמא נעשה שימוש בערך undefined
אשר איננו נתמך ב-Internet Explorer
הדוגמא תרוץ רק בדפדפן Netscape Nevigator.
כמו כן, כדאי לשים לב לכך שב-Netscape Nevigator 4.7, אם בוחרים ב-turn on the ERROR dialog למעשה מאפשרים לדפדפן להציג למשתמש בשורת הסטטוס את ההודעה javaScript
error, ואם בוחרים באפשרות
השניה אז ההודעה הזו לא מוצגת.
<!-- file name : windowOnErrorDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowOnErrorDemo.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.3">
window.defaultStatus = "Y2K
Multimedia";
function turnErrorOff()
{
window.onerror = null;
document.myForm.tfMsg.value = "window.onerror = null";
}
function turnErrorOn()
{
window.onerror =
undefined;
document.myForm.tfMsg.value = "window.onerror = undefined";
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myForm">
<INPUT TYPE="button"
VALUE="make ERROR" onClick="goZumumm()"><P>
<INPUT TYPE="button"
VALUE="turn off the ERROR dialog window"
onClick="turnErrorOff()"><P>
<INPUT TYPE="button"
VALUE="turn on the ERROR dialog window"
onClick="turnErrorOn()"><P>
<INPUT TYPE="text"
NAME="tfMsg" SIZE="40">
</FORM>
</BODY>
</HTML>
התכונות
pageXOffset ו- pageYOffset
שתי
תכונות אלה, אשר נתמכות על ידי Netscape Nevigator החל מגרסה 4, ואינן נתמכות על ידי Internet
Explorer, מתארות (בפיקסלים) את
שיעורי הפינה השמאלית של השטח המוצג מתוך המסמך. כאשר המסמך המוצג גדול משטח החלון שמוקצה להצגתו מופיעים פסי גלילה
בהתאם, ובמקרה כזה, שיעורי הפינה השמאלית של השטח המוצג אינם בהכרח 0,0. המסמך הבא מציג מסמך שגודלו גדול משטח
החלון. כל לחיצה על כפתור update
תעדכן את שיעורי שתי התכונות הנ"ל כפי שהם מופיעים בשדות הטקסט הנתונים.
<!-- file name : windowXYOffSetDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowXYOffSetDemo.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.2">
function update()
{
document.myForm.xOff.value = window.pageXOffset;
document.myForm.yOff.value
= window.pageYOffset;
}
</SCRIPT>
</HEAD>
<BODY>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text simple
text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<FORM NAME="myForm">
simple text simple text
simple text simple
<INPUT
TYPE="button" onClick="update()"
VALUE="UPDATE">
pageXOffset:<INPUT
NAME="xOff" SIZE="5"> pageYOffset:<INPUT
NAME="yOff" SIZE="5">
</FORM>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<NOBR>simple text simple text
simple text simple text simple text simple text simple text simple text simple
text simple text simple text simple text simple text simple text simple text
simple text simple text simple text</NOBR>
<FORM>
</FORM>
</BODY>
</HTML>
התכונה
status
ערכה
של תכונה זו הוא מחרוזת התווים שמופיעה בשורת המצב של הדפדפן. התכונה נתמכת על ידי
Internet
Explorer החל מגרסה 3, ועל ידי Netscape
Nevigator החל מגרסה 2. התכנית הבאה
מדגימה את השימוש בתכונה. כדאי לשים לב, לכך שכדי שהפקודות שמופיעות כערכה של
התכונה onMouseOver יתבצעו, עליהן להסתיים בפקודה שערכה true או ערך אחר אשר יכול לעבור casting ל- true.
<!-- file name : windowStatusDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowStatusDemo.html</TITLE>
</HEAD>
<BODY>
<BR>I recommend you to visit <A TITLE="www.zindell.com - I
recommend"
HREF="http://www.zindell.com"
onMouseOver="window.status='visit zindell...';return
true">ZINDELL</A>
<BR>I recommend you to visit <A TITLE="www.yahoo.com - I
recommend"
HREF="http://www.yahoo.com"
onMouseOver="window.status='visit yahoo...';return
true">YAHOO</A>
<BR>I recommend you to visit <A TITLE="www.yahoo.com - I
recommend"
HREF="http://www.javasof.com"
onMouseOver="window.status='visit javasoft...';return
true">JAVASOFT</A>
</BODY>
</HTML>
התכונה
self
תכונה
זו מכילה reference לאובייקט window
שאליו היא שייכת. השימוש בה הופך את שורות הקוד לבהירות יותר. התכונה נתמכת על ידי
Netscape
Nevigator החל מגרסה 2, ועל ידי Internet
Explorer החל מגרסה 3. התכנית הבאה
מציגה את השימוש בתכונה זו. כדאי לשים לב לכך שהדוגמא כוללת פניה לתכונה self הן מתוך window
והן מבלי לציין את המילה window.
שתי האפשרויות קיימות כיוון שכפי שכבר ציינו: ציון המילה window אופציונלי.
<!-- file name : windowSelfDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<HTML>
<HEAD>
<TITLE>windowSelfDemo.html</TITLE>
</HEAD>
<BODY>
<BR>I recommend you to visit <A TITLE="www.zindell.com - I
recommend"
HREF="http://www.zindell.com"
onMouseOver="self.status='visit zindell...';return
true">ZINDELL</A>
<BR>I recommend you to visit <A TITLE="www.yahoo.com - I
recommend"
HREF="http://www.yahoo.com"
onMouseOver="self.status='visit yahoo...';return
true">YAHOO</A>
<BR>I recommend you to visit <A TITLE="www.yahoo.com - I
recommend"
HREF="http://www.javasof.com"
onMouseOver="window.self.status='visit javasoft...';return
true">JAVASOFT</A>
</BODY>
</HTML>
התכונה
top
הערך
של תכונה זו הוא ה-reference
לאובייקט ה-window
שנמצא בראש ההיררכיה של החלונות (מצב זה מתקיים כאשר קיימת היררכיה של frames ובמקרה זה ערכה של top
הוא reference לאובייקט ה-window
שבו נמצא ה-framset
הראשון). התכונה נתמכת על ידי Internet Explorer החל מגרסה 3, ועל ידי Netscape Nevigator החל מגרסה 2. המסמך הבא (יחד עם המסמכים שאחריו) מדגים את השימוש
בתכונה זו.
<!-- file name : windowTopDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 Frameset//EN">
<HTML>
<HEAD>
<TITLE>windowTopDemo.html</TITLE>
</HEAD>
<FRAMESET ROWS="25%,75%">
<FRAME SRC="simpleFrameSet1.html">
<FRAME SRC="simpleFrameSet2.html">
</FRAMESET>
</HTML>
<!-- file name : simpleFrameSet1.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 Frameset//EN">
<HTML>
<HEAD>
<TITLE>simpleFrameSet1.html</TITLE>
</HEAD>
<FRAMESET COLS="25%,75%">
<FRAME SRC="simpleFrameSet3.html">
<FRAME SRC="simpleFrameSet4.html">
</FRAMESET>
</HTML>
<!-- file name : simpleFrameSet2.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 //EN">
<HTML>
<HEAD>
<TITLE>simpleFrameSet2.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.2">
function setTopStatus()
{
window.top.status="was set by
simpleFrameSet2.html";
}
</SCRIPT>
</HEAD>
<BODY>
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
<FORM>
<INPUT TYPE="button"
value="PRESS ME" NAME="PRESS"
onClick="setTopStatus()">
</FORM>
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
simpleFrameSet2.html simpleFrameSet2.html simpleFrameSet2.html
simpleFrameSet2.html
</BODY>
</HTML>
<!-- file name : simpleFrameSet3.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 //EN">
<HTML>
<HEAD>
<TITLE>simpleFrameSet3.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.2">
function setTopStatus()
{
window.top.status="was set by
simpleFrameSet3.html";
}
</SCRIPT>
</HEAD>
<BODY>
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
<FORM>
<INPUT TYPE="button"
value="PRESS ME" NAME="PRESS"
onClick="setTopStatus()">
</FORM>
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
simpleFrameSet3.html simpleFrameSet3.html simpleFrameSet3.html
simpleFrameSet3.html
</BODY>
</HTML>
<!-- file name : simpleFrameSet4.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 //EN">
<HTML>
<HEAD>
<TITLE>simpleFrameSet4.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.2">
function setTopStatus()
{
window.top.status="was set by simpleFrameSet4.html";
}
</SCRIPT>
</HEAD>
<BODY>
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
<FORM>
<INPUT TYPE="button"
value="PRESS ME" NAME="PRESS"
onClick="setTopStatus()">
</FORM>
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
simpleFrameSet4.html simpleFrameSet4.html simpleFrameSet4.html
simpleFrameSet4.html
</BODY>
</HTML>
התכונה
window
תכונה
זו מכילה reference לאובייקט ה-window
שאליו היא שייכת. השימוש בתכונה זו יותר מבלבל מאשר מועיל. המלצתי היא שלא להשתמש
בה. התכונה נתמכת על ידי Internet Explorer
החל מגרסה 3, ועל ידי Netscape Nevigator
החל מגרסה 2.
המתודות
המתודות
אשר ניתנות להפעלה על אובייקט כוללות את המתודות הבאות:
המתודה
alert
מתודה
זו מקבלת בעת הפעלתה מחרוזת תווים וגורמת להופעתה בתוך חלון דיאלוג שמופיע. חלון
הדיאלוג כולל כפתור OK
יחיד, וכל עוד המשתמש לא לוחץ עליו אז כל יתר החלונות במסך נותרים ללא שינוי. לא
ניתן להמשיך כל עוד לא לוחצים על כפתור ה-OK.
המתודה איננה מחזירה אף ערך. המתודה נתמכת על ידי Netscape
Nevigator החל מגרסה 2, ועל ידי Internet
Explorer החל מגרסה 3.
המתודה
confirm
מתודה
זו מקבלת בעת הפעלתה מחרוזת תווים וגורמת להופעתה בתוך חלון דיאלוג שמופיע. חלון
הדיאלוג כולל שני כפתורים: OK
ו- CANCEL. המתודה מחזירה true
או false בהתאם לבחירת המשתמש (true
אם לחץ על OK
ו- false אם לחץ על CANCEL).
כל עוד המשתמש לא הקיש על אחד משני הכפתורים כל יתר החלונות שמופיעים על המסך
נותרים לא פעילים. בחלק מהדפדפנים מופיעים הכפתורים YES ו- NO
במקום הכפתורים OK
ו- CANCEL. המתודה נתמכת על ידי Netscape Nevigator החל מגרסה 2, ועל ידי Internet Explorer החל מגרסה 3.
המתודה
prompt
מתודה
זו מקבלת בעת הפעלתה שתי מחרוזות תווים, וגורמת להופעת חלון דיאלוג שהמחרוזת
הראשונה מופיעה בו בתור שאלה, והמחרוזת השניה מופיעה בתוך שדה(תיבת) טקסט בתור
תשובת ברירת המחדל. המשתמש יכול לשנות את תשובתו לשאלה. חלון הדיאלוג כולל גם שני
כפתורים: OK ו- CANCEL
(בחלק מהדפדפנים מופיעים הכפתורים YES
ו-NO). לחיצה על הכפתור OK
תגרום לסגירת החלון, ולכך שהמתודה תחזיר את מחרוזת התווים שהופיעה בתוך שדה הטקסט.
לחיצה על הכפתור CANCEL
תגרום לסגירת החלון, ולכך שהמתודה תחזיר null.
המתודה נתמכת על ידי Internet Explorer
החל מגרסה 3, ועל ידי Netscape Nevigator
החל מגרסה 2.
התכנית
הבאה מדגימה את פעולתן של שלושת המתודות.
<!-- file name : windowMessagesDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 //EN">
<HTML>
<HEAD>
<TITLE>windowMessagesDemo.html</TITLE>
</HEAD>
<BODY>
<FORM>
<H1>confirm, prompt and alert
methods</H1>
<FORM NAME="myForm">
<INPUT
TYPE="button" VALUE="alert"
onClick="window.alert('This is an alert dialog')">
<INPUT
TYPE="button" VALUE="prompt"
onClick="window.prompt('This is a prompt dialog','')">
<INPUT
TYPE="button" VALUE="confirm"
onClick="window.confirm('This is a confirm dialog')">
</FORM>
</BODY>
</HTML>
המתודה
back
מתודה
זו איננה מקבלת אף ערך בעת הפעלתה, והיא גם לא מחזירה אף ערך בחזרה. המתודה גורמת
בפעולתה לחזרת הדפדפן אחורה. התוצאה של פעולת מתודה זו זהה ללחיצה על הלחצן back בדפדפן. המתודה איננה נתמכת על ידי Internet
Explorer. התמיכה על ידי Netscape
Nevigator קיימת החל מגרסה 4 ומעלה.
המתודה
forward
מתודה
זו איננה מקבלת אף ערך בעת הפעלתה, והיא גם לא מחזירה אף ערך בחזרה. המתודה גורמת
בפעולתה למעבר הדפדפן קדימה. התוצאה של פעולת מתודה זו זהה ללחיצה על הלחצן forward בדפדפן. המתודה איננה נתמכת על ידי Internet
Explorer. התמיכה על ידי Netscape
Nevigator קיימת החל מגרסה 4 ומעלה.
התכנית
הבאה מדגימה את פעולתן של שתי המתודות האחרונות.
<!-- file name : windowBackDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 //EN">
<HTML>
<HEAD>
<TITLE>windowBackDemo.html</TITLE>
</HEAD>
<BODY>
<FORM>
<H1>back and forward
methods</H1>
<FORM NAME="myForm">
<INPUT
TYPE="button" VALUE="back"
onClick="window.back()">
<INPUT
TYPE="button" VALUE="forward"
onClick="window.forward()">
</FORM>
</BODY>
</HTML>
המתודה
focus
מתודה
זו איננה מקבלת אף ערך בעת הפעלתה, והיא גורמת בפעולתה לכך שהחלון יוצג מעל כל יתר
החלונות שמופיעים על המסך. המתודה נתמכת על ידי Netscape
Nevigator החל מגרסה 3, ועל ידי Internet
Explorer החל מגרסה 4.
המתודה
blur
מתודה
זו מבצעת את הפעולה ההפוכה לזו שמבצעת המתודה focus. מתודה זו גורמת לחלון שעליו היא פעלה לעבור אל מאחורי כל החלונות
האחרים שמופיעים על המסך. המתודה לא מקבלת ולא מחזירה אף ערך. המתודה נתמכת על ידי
Netscape
Nevigator החל מגרסה 3, ועל ידי Internet
Explorer החל מגרסה 4.
המתודה
open
מתודה
זו יוצרת בפעולתה חלון חדש. המתודה מחזירה את ה-reference לאובייקט ה-window שהיא יצרה. אם
המתודה נכשלת בפעולתה אז היא מחזירה null.
המתודה מקבלת 2 ערכים + ערך נוסף אופציונלי. הערך הראשון שהמתודה מקבלת הוא ה-URL אשר יוצג בחלון החדש. הערך השני שהמתודה מקבלת הוא השם שיינתן
לחלון החדש שנוצר. הערך השלישי (אופציה) הוא מחרוזת תווים אשר כוללת בתוכה את
מאפייניו של החלון החדש. מחרוזת
התווים שנשלחת כארגומנט שלישי אל המתודה open
כוללת בתוכה את מאפייניו של החלון החדש שיוצרים. מאפיינים אלה יכולים לכלול את כל
אחת מהתכונות שמופיעות בטבלה הבאה. לכל תכונה יש לציין את ערכה בדומה לתכונה
שמוסיפים אל תוך תגית HTML. אם התכונה מקבלת ערך בוליאני אז הערך
שיושם לתוכה יהיה או 1 או 0 (או לחילופין, yes
או no). אם התכונה מקבלת ערך בוליאני אז ניתן גם רק לציין את שמה מבלי
לתת לה ערך.
|
סוג
הערך |
מהות |
התכונה |
|
Boolean |
הימצאות
סרגל הכפתורים (GO,
BACK וכדומה) |
toolbar |
|
Boolean |
הימצאות
שדה הטקסט שמכיל את כתובת ה-URL |
location |
|
Boolead |
הימצאות
שורת הכפתורים (what is
new,..) מתחת לכתובת ה-URL |
directories |
|
Boolean |
הימצאות
שורת המצב בתחתית החלון |
status |
|
Boolean |
הימצאות
שורת התפריטים בראש החלון |
menubar |
|
Boolean |
הימצאות
פסי הגלילה כאשר המסמך גדול מהחלון |
scrollbars |
|
Boolean |
מתן
האפשרות לשנות את גודל החלון ואת מיקומו |
resizeable |
|
Boolean |
העתקת
היסטוריית כתובות ה-URL
שבהן ביקרו אל חלון חדש שנוצר |
copyhistory |
|
ערך
מספרי |
רוחב
החלון |
width |
|
ערך
מספרי |
גובה
החלון |
height |
קיימות
תכונות נוספות שניתן לקבוע אך הן ספציפיות רק ל-Netscape
Nevigator.
התכנית
הבאה מדגימה את שלושת המתודות האחרונות.
<!-- file name : windowFocusBlurOpenDemo.html
-->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 //EN">
<HTML>
<HEAD>
<TITLE>windowFocusBlurOpenDemo.html</TITLE>
<SCRIPT LANGUAGE="JavaScript1.2">
var secondWindow = null;
function createWindow()
{
if (!secondWindow ||
secondWindow.closed)
{
secondWindow
=
window.open("","secondWindow","width=400,height=250");
var str =
"<HTML><HEAD><TITLE>The second
window</TITLE></HEAD>";
str +=
"<BODY BGCOLOR='green' TEXT='white'><H1>green is
nice</H1>";
str +=
"<FORM><INPUT TYPE='button' VALUE='BRING THE MAIN WINDOW TO
FRONT'";
str +=
"onClick='self.opener.focus()'>";
str +=
"<BR><INPUT TYPE='button' VALUE='BRING THIS WINDOW TO
BACK'";
str +=
"onClick='self.blur()'></FORM></BODY></HTML>";
secondWindow.document.write(str);
}
else
{
//The second window is
already exists
secondWindow.focus();
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<H1>blur, focus and open
methods</H1>
<FORM NAME="myForm">
<INPUT
TYPE="button" VALUE="create a second window"
onClick="createWindow()">
</FORM>
</BODY>
</HTML>
המתודה
captureEvents
מתודה
זו מאפשרת לתפוס events
שמתרחשים לפני שהם מגיעים אל האובייקט שממנו הם כביכול נוצרו. המתודה נתמכת רק על
ידי Netscape
Nevigator כיוון שהיא מותאמת לאופן
זרימת ה-events בדפדפן זה (שונה מ-Internet Explorer). בעת הפעלתה יש
לשלוח אליה את סוגי ה-events
שמעונינים בתפיסתם לפני שהם מגיעים כביכול לאובייקט שממנו הם נוצרו.
כך
למשל, כתיבת השורה: window.captureEvents(Event.MOUSEDOWN | Event.KEYPRESS) תגרום לכך שאותם שני
events לא יגיעו אל אותם אובייקטים שמהם הם כביכול נוצרו. המשמעות המעשית
של שורה זו היא שלאחר פעולתה, events handlres
שאמורים לטפל ב-events
אלה באובייקטים מסוימים לא יפעלו כי ה-events
פשוט לא יגיעו אליהם.
המתודה
releaseEvents
מתודה
זו גורמת בפעולת לביטול פעולת המתודה captureEvents.
בהפעלתה יש לשלוח אליה את סוג ה-events
שמעוניינים לבטל את תפיסתם כפי שנקבעה באמצעות המתודה captureEvents.
המתודה
close
מתודה
זו גורמת בפעולתה לסגירת החלון שמיוצג על ידי האובייקט שממנו המתודה הופעלה.
המתודה איננה מקבלת ואיננה מחזירה אף ערך בעת הפעלתה. מתודה זו נתמכת על ידי Netscape
Nevigator החל מגרסה 2, ועל ידי Internet
Explorer החל מגרסה 3.
המתודה
find
מתודה
זו מקבלת בעת הפעלתה מחרוזת תווים אשר אותה היא תחפש במסמך שמוצג בחלון שהאובייקט
שממנו היא הופעלה מייצג. המתודה פועלת בדומה לפעולה find שניתן לבצע מתוך תפריט הפקודות שיש בדפדפן. אם המתודה מוצאת את
המחרוזת אז המתודה מחזירה true,
והדפדפן מציג את קטע הטקסט שבו המחרוזת נמצאה, כשאת המחרוזת הוא מציג בצבע רקע
שונה. אל המתודה ניתן לשלוח שני ערכים בוליאנים נוספים. הערך הבוליאני הראשון יקבע
האם החיפוש יתעקש על התאמה מלאה לרבות ההבחנה בין אותיות קטנות ואותיות גדולות,
והערך השני יקבע האם החיפוש יתבצע החל מהמיקום שבו הדפדפן נמצא כלפי מעלה (true) או שהוא ייעשה כלפי מטה (ברירת המחדל). אם מציינים את אחד משני
הערכים הבוליאנים יש לציין גם את השני. מתודה זו איננה נתמכת על ידי Internet
Explorer, והיא נתמכת על ידי Netscape
Nevigator החל מגרסה 4.
המתודה
handleEvent
מתודה
זו קיימת, למעשה, בכל אובייקט שיש בו events handlers.
מתודה זו מקבלת בעת הפעלתה אובייקט event
אשר מייצג את האירוע שהתרחש. באמצעות מתודה זו ניתן להפנות events לטיפולו של event handler
באובייקט מסוים. מתודה זו איננה נתמכת על ידי Internet
Explorer. התמיכה למתודה זו ב-Netscape
Nevigator קיימת החל מגרסה 4.
התכנית הבאה מדגימה כיצד כל לחיצה על כל כפתור שמופיע גורמת להפעלת ה-event
handler אשר קיים בכפתור מספר 1. התכנית, למעשה,
מדגימה את פעולת המתודה handleEvent
על אובייקט אחר, אך העיקרון דומה.
<!-- file name : windowHandleEventDemo.html
-->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 //EN">
<HTML>
<HEAD>
<TITLE>windowHandleEventDemo.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.2">
function respons(str)
{
window.alert(str);
}
window.captureEvents(Event.CLICK);
window.onClick =
clicky;
function clicky(ev)
{
window.document.myForm.bt1.handleEvent(ev);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myForm">
<BR><INPUT
TYPE="button" NAME="bt1" onClick="respons('bt1')"
VALUE="BT1">
<BR><INPUT
TYPE="button" NAME="bt2" onClick="respons('bt2')"
VALUE="BT2">
<BR><INPUT
TYPE="button" NAME="bt3" onClick="respons('bt3')"
VALUE="BT3">
<BR><INPUT
TYPE="button" NAME="bt4" onClick="respons('bt4')"
VALUE="BT4">
<BR><INPUT
TYPE="button" NAME="bt5" onClick="respons('bt5')"
VALUE="BT5">
</FORM>
</BODY>
</HTML>
המתודה
home
מתודה
זו גורמת בפעולתה לאותה תוצאה שתתקבל כאשר יילחץ הכפתור home אשר מופיע בדפדפן. המתודה נתמכת על ידי Netscape
Nevigator החל מגרסה 4. המתודה
איננה נתמכת על ידי Internet Explorer.
התכנית הבאה מדגימה את פעולתה.
<!-- file name : windowHomeDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 //EN">
<HTML>
<HEAD>
<TITLE>windowHomeDemo.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.2">
function respons()
{
window.home();
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myForm">
<BR><INPUT
TYPE="button" NAME="HOME" onClick="window.home()"
VALUE="HOME">
</FORM>
</BODY>
</HTML>
המתודה
resizeTo
מתודה
זו משמשת לשינוי גודלו של החלון המוצג. המתודה מקבלת שני ערכים אשר מתארים את
רוחבו ואת אורכו (בפיקסלים) הרצויים של החלון. המתודה איננה נתמכת על ידי Internet
Explorer, והתמיכה בה על ידי Netscape
Nevigator הינה החל מגרסה 4
ומעלה.
המתודה
resizeBy
מתודה
זו מקבלת שני ערכים ומגדילה את מימדי החלון שעליו היא פועלת באותם שני ערכים. רוחב
החלון גדל בערך הראשון, ואורכו בערך השני. המתודה איננה נתמכת על ידי Internet
Explorer, והתמיכה בה על ידי Netscape
Nevigator הינה החל מגירסה 4 ומעלה.
המתודות
moveBy ו- moveTo
מתודות
אלה משמשות להוזזת החלון על המסך. המתודה moveTo
מקבלת שני ערכים ומעבירה את החלון כך שפינתו השמאלית תהיה בקואורדינטות ששווים
לאותם שני ערכים שהיא קיבלה. הקואורדינטות במסך נמדדות מפינתו השמאלית העליונה
לכיוון ימין (שיעור ה-x)
ולכיוון מטה(שיעור ה-y).
המתודה moveBy מקבלת שני ערכים ומוזיזה את החלון כך שמיקומו החדש נמצא
בקואורדינטות שההבדל שבינן לבין הקוארדינטות הקודמות הוא אותם שני ערכים שהמתודה
קיבלה. שתי המתודות נתמכות גם על ידי Internet Explorer, וגם על ידי Netscape Nevigator (החל מגרסה 4). התכנית הבאה מדגימה את השימוש בשתי מתודות אלה.
<!-- file name : windowMoveToByDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 //EN">
<HTML>
<HEAD>
<TITLE>windowMoveToByDemo.html</TITLE>
<SCRIPT LANGUAGE="JavaScript1.3">
function goTo()
{
var xVal =
document.myForm.x.value;
var yVal =
document.myForm.y.value;
window.moveTo(xVal,yVal);
}
function goBy()
{
var xVal =
document.myForm.x.value;
var yVal =
document.myForm.y.value;
window.moveBy(xVal,yVal);
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="javaScript1.3">
window.resizeTo(300,300);
</SCRIPT>
<FORM NAME="myForm">
<BR><LABEL>x:<INPUT
TYPE="text" NAME="x"></LABEL>
<BR><LABEL>y:<INPUT
TYPE="text" NAME="y"></LABEL>
<BR><INPUT
TYPE="button" VALUE="moveTo"
onClick="goTo()">
<BR><INPUT
TYPE="button" VALUE="moveBy"
onClick="goBy()">
</FORM>
</BODY>
</HTML>
המתודה
stop
פעולתה
של מתודה זו זהה לפעולת הלחצן stop
שמופיע בחלקו העליון של הדפדפן. המתודה איננה נתמכת על ידי Internet
Explorer, והתמיכה שהיא מקבלת מ-Netscape
Nevigator היא החל מגירסה 4 ומעלה.
המתודה איננה מקבלת ואיננה מחזירה אף ערך.
המתודה
print
פעולתה
של מתודה זו זהה לפעולת הלחצן print
שמופיע בחלקו העליון של הדפדפן. המתודה איננה נתמכת על ידי Internet
Explorer, והתמיכה שהיא מקבלת מ-Netscape
Nevigator היא החל מגירסה 4 ומעלה. המתודה איננה מקבלת
ואיננה מחזירה אף ערך.
המתודות
scrollBy ו- scrollTo
שתי
מתודות אלה גורמות להפעלת פסי הגלילה שמופיעים בצידי הדפדפן. שתי המתודות מקבלות
שני ערכים בעת הפעלתן. המתודה scrollTo
גורמת לפסי הגלילה לנוע כך ששני הערכים שהיא קיבלה יהיו הקואורדינטות של הנקודה
מהמסמך שמוצגת בפינה השמאלית העליונה של חלון הדפדפן. המתודה scrollBy גורמת לפסי הגלילה לנוע כך שהקואורדינטות של הנקודה מהמסמך אשר
מוצגת בפינה השמאלית העליונה של חלון הדפדפן ישתנו באותם שני ערכים. שתי מתודות
אלה אינן נתמכות על ידי Internet Explorer,
והן נתמכות רק על ידי Netscape Nevigator
החל מגרסה 4.
המתודה
scroll
מתודה
זו פועלת באופן זהה למתודה scrollTo,
אך התמיכה שהיא מקבלת מהדפדפנים השונים רבה יותר. מתודה זו נתמכת על ידי Internet
Explorer החל מגרסה 4, ועל ידי Netscape
Nevigator החל מגרסה 3.
המתודות
setInterval ו- clearInterval
באמצעות
המתודה setInterval ניתן לקבוע כי מתודה מסוימת תתבצע שוב ושוב. מידת ההשהיה בין
הפעלה אחת לשניה נקבעת באמצעות המתודה setInterval אשר מקבלת כארגומנט ראשון מחרוזת תווים שהיא שם המתודה, כארגומנט
שני את מספר אלפיות השניה שיחלפו בין הפעלה אחת לשניה ויתר הארגומנטים (אופציונלי)
הם הערכים שנשלחים אל המתודה אשר תופעל שוב ושוב. המתודה מחזירה מספר זיהוי לתהליך
שהתחיל. יש לשמור על מספר זיהוי זה במשתנה נפרד כדי שגם ניתן יהיה להפסיק את
התהליך שהתחיל. המתודה נתמכת על ידי Internet Explorer החל מגרסה 4, ועל ידי Netscape Nevigator החל מגרסה 4.
הפסקת
התהליך נעשית באמצעות הפעלת המתודה clearInterval
אשר מקבלת ארגומנט אחד (מספר הזיהוי של התהליך שהתחיל). מתודה זו נתמכת, בדומה
לקודמתה, על ידי Internet Explorer
החל מגרסה 4, ועל ידי Netscape Nevigator
החל מגרסה 4.
התכנית
הבאה מדגימה את פעולת שתי המתודות. התכנית איננה פועלת תחת InternetExplorer בגלל המתודה scrollBy
אשר נתמכת רק על ידי Netscape Nevigator.
<!-- file name : windowSetIntervalDemo.html
-->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 FRAMESET//EN">
<HTML>
<HEAD>
<TITLE>windowSetIntervalDemo.html</TITLE>
</HEAD>
<FRAMESET ROWS="40%,60%">
<FRAME SRC="controlPanel.html"
NAME="controlPanel">
<FRAME SRC="displayPanel.html"
NAME="displayPanel">
</FRAMESET>
</HTML>
<!-- file name : displayPanel.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 FRAMESET//EN">
<HTML>
<HEAD>
<TITLE>displayPanel.html</TITLE>
</HEAD>
<BODY>
<H2>OPTION 1</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 2</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 3</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 4</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text simple
text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 5</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 6</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 7</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 8</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 9</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text simple
text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 10</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 11</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 12</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 13</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 14</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 15</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 16</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 17</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
<H2>OPTION 18</H2>
<P>
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
simple text simple text simple text simple text simple text simple text
simple text
</BODY>
</HTML>
<!-- file name : controlPanel.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 FRAMESET//EN">
<HTML>
<HEAD>
<TITLE>controlPanel.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.2">
var speed = 100;
var jump = 2;
var direction = "down";
var id;
function automaticScrolling()
{
jump = Math.abs(jump);
if(direction=="up")
{
jump =
-jump;
}
parent.displayPanel.scrollBy(0,jump)
}
function changeDirection()
{
direction =
(direction=="down")?"up":"down";
}
function
startScrolling()
{
parent.displayPanel.scrollBy(0,jump);
id =
setInterval("automaticScrolling()",speed);
}
function stopScrolling()
{
clearInterval(id);
}
</SCRIPT>
</HEAD>
<BODY>
<H1>Demo of setInterval and clearInterval
methods</H1>
<FORM NAME="controlForm">
<INPUT TYPE="button"
VALUE="START" onClick="startScrolling()">
<INPUT TYPE="button"
VALUE="STOP" onClick="stopScrolling()">
<INPUT TYPE="button" VALUE="CHANGE
DIRECTION" onClick="changeDirection()">
</FORM>
</BODY>
</HTML>
המתודות
setTimeout ו- clearTimeout
המתודה
setTimeout משמשת לקביעת משך ההשהיה לפני שמתודה או פקודה אחרת תתבצע. מתודה
זו מקבלת בעת הפעלתה כארגומנט ראשון מחרוזת תווים שהיא שם המתודה שלפני הפעלתה
תתקיים השהיה או, לחילופין, הפקודה. הארגומנט השני שהמתודה מקבלת הוא משך ההשהיה
(באלפיות השניה). אם המתודה שלפני הפעלתה נקבעת השהיה אמורה לקבל ארגומנטים אז הם
יישלחו כארגומנטים נוספים. המתודה מחזירה מספר זיהוי לתהליך שהתחילה בו. המתודה
נתמכת על ידי Netscape Nevigator
החל מגרסה 2, ועל ידי Internet Explorer
החל מגרסה 3.
כדי
לבטל את ההשהיה שהתחילה לפעול יש לקרוא להפעלתה של המתודה clearTimeout, ולשלוח אליה את מספר הזיהוי של תהליך ההשהיה שרוצים להפסיק.
המתודה clearTimeout נתמכת על ידי Netscape Nevigator החל מגרסה 2, ועל ידי Internet Explorer החל מגרסה 3.
התכנית
הבאה מדגימה את פעולתן של שתי המתודות.
<!-- file
name : windowTimeOutDemo.html -->
<!-- 2000(c) Zindell Publishing House Ltd.
-->
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 FRAMESET//EN">
<HTML>
<HEAD>
<TITLE>windowTimeOutDemo.html</TITLE>
<SCRIPT LANGUAGE="javaScript1.2">
var goOn = true;
var id;
function showTime()
{
now = new Date();
document.abba.clockTf.value = now.getHours() + " : " +
now.getMinutes()
+ " :
" + now.getSeconds();
clearTimeout(id);
if (goOn)
startTimer();
}
function startTimer()
{
goOn=true;
id =
setTimeout("showTime()", 1000);
}
function stopTimer()
{
goOn = false;
}
</SCRIPT>
</HEAD>
<BODY>
<H1>Demo of setTimeout and clearTimeout methods</H1>
<FORM NAME="abba">
<INPUT TYPE="button"
VALUE="START" onClick="startTimer()">
<INPUT TYPE="button"
VALUE="STOP" onClick="stopTimer()">
<INPUT TYPE="text"
NAME="clockTf" SIZE="24" VALUE="press START . .
.">
</FORM>
</BODY>
</HTML>
המתודות
disableExternalCapture ו- enableExternalCapture
מתודות
אלה נתמכות רק על ידי Netscape Nevigator
החל מגרסה 4, והן מקנות את האפשרות לטפל ב-events
שמתרחשים ב-frame/window אחר אשר מציג domain
אחר.
המתודות
routeEvent
מתודה
זו משמשת להעברתם של events
אשר נתפסו על ידי המתודה captureEvent
אל יעדם המקורי. המתודה נתמכת, מן הסתם, על ידי Netscape
Nevigator החל מגרסה 4 בלבד. בעת
הפעלתה יש לשלוח אליה את סוגי ה-events
שמעונינים להעביר הלאה.
טיפול באירועים
להלן
התכונות שניתן להוסיף אל תוך התגית <BODY> ובכך לקבוע טיפול מתאים לאירועים שונים שייתכנו.
OnBlur
ו- onFocus
כאשר
החלון עובר להיות מלפנים(onFocus)
או מאחורי חלונות אחרים (onBlur).
הטיפול בשני אירועים אלה באמצעות שתי התכונות האמורות נתמך על ידי Netscape
Nevigator החל מגרסה 3, ועל ידי Internet
Explorer החל מגרסה 4.
onDragDrop
תכונה
זו מתייחסת לאירוע שבו המשתמש גורר ומבצע paste
אל תוך שטח הדפדפן קיצור דרך או כל דבר אחר. הטיפול באירוע האמור באמצעות הוספת
תכונה זו אל תוך התגית <BODY> נתמך רק על ידי Netscape Nevigator החל מגרסה 4.
onLoad
תכונה
זו מתייחסת להסתיימות טעינת מסמך ה-HTML
אל תוך הדפדפן. כאשר מסתיימת טעינת מסמך אל תוך הדפדפן מתרחש אירוע הסתיימות טעינת
המסמך. באמצעות הוספת תכונה זו אל תוך התגית <BODY>
ניתן לקבוע את ביצוען של פקודות מסויימות ב-JavaScript כאשר מסתיימת טעינת המסמך. הטיפול באירוע האמור באמצעות תכונה זו
נתמך על ידי Netscape Nevigator
החל מגרסה 2, ועל ידי Internet Explorer
החל מגרסה 3.
onUnload
תכונה
זו משמשת לטיפול באירוע הסרת המסמך מהדפדפן לטובת מסמך אחר. אירוע הסרת המסמך
מתרחש מייד לפני שתצוגת המסמך נעלמת. הטיפול באירוע האמור באמצעות תכונה זו נתמך
על ידי Netscape
Nevigator החל מגרסה 2, ועל ידי Internet
Explorer החל מגרסה 3.
onResize
כאשר
משנים את מימדי החלון נוצר אירוע שניתן לטיפול באמצעות תכונה זו. טיפול זה נתמך על
ידי Netscape
Nevigator החל מגרסה 4 בלבד, והוא
איננו נתמך על ידי Internet Explorer.
האובייקט Frame
התכונות,
המתודות והאירועים שבהם ניתן לטפל באובייקט זה זהים לאלה שקיימים באובייקט window. אובייקט זה מתנהג
בדיוק כמו אובייקט window,
למעט עובדת היותו שייך ל-Frame Set.
תרגילים
1. כתוב/כתבי תכנית
אשר תציג מסמך אשר ניתן יהיה לבחור בו מתוך רשימה של ערים בעולם עיר מסוימת,
ולראות בתיבת טקסט מתאימה את השעה באותה עיר. לאחר בחירת עיר, תיבת הטקסט האמורה
תציג את השעה באותה עיר באופן זהה לשעון. השעה תתעדכן כל שניה.
2000 © All the rights reserved to Haim Michael & Zindell
Publishing House Ltd.
No
parts of the contents of this paper may be reproduced or transmitted in any
form by any means
without
the written permission of the publisher !
This book can be used for personal use only !!!
Brought
to you by Zindell
(http://www.zindell.com)
לנוחיותך, להלן תוכן
העניינים של הספר: