הנך נמצא: מדריך מתקדם / שיעור 3 / דף 8
 


המדריך של תאו ל- JavaScript
 


דפים בשיעור זה:
1: JavaScript מתקדם
2: כיצד לתזמן אירועים
3: לולאות תזמון – מהן?
4: לולאות מתזמנות – איך?
5: שעון JavaScript
6: קוצבי זמן עם משתנים
7: הבחנה בין דפדפנים
8: הבחנה בין דפדפנים
9: אוביקט ומתודת הזיהוי
10: אובייקט ההיסטוריה
11: שעור 3 - חזרה
|
|
|
|
|
|
|
|
|
|
|
|

שיעור 3

דף 8: כיצד להבחין בין דפדפנים.

ביחד עם אובייקט המסמך, לכל חלון של דפדפן יש אובייקט נווט (Navigator), בעל שתי תכונות המכילות את כל האינפורמציה על סוג הדפדפן שבו אתה משתמש. התכונות הן appName ו - appVersion.

תכונת שם האפליקציה היא appName. אם אתה משתמש בגרסה של Netscape, ויש לך את השורה הזו ב- JavaScript:

var the_browser_name = navigator.appName;

אז ערך המשתנה - the_browser_nameיהיה "Netscape". עבור MSIE, ערך ה - the_browser_name יהיה "Microsoft Internet Explorer" (כל חברת דפדפן באה עם שם משלה). כך, אם אתה רק רוצה לדעת אם מישהו משתמש ב-Netscape או ב-MSIE, השתמש ב - appName.

אינפורמציה נוספת שמורה במשתנה – appVersion. דוגמא ל - appVersion היא "4.03 [en] (Win95;I)," אשר הוא הדפדפן שאני משתמש בו כאשר אני מדפיס שעור זה. זהו Netscape גרסה 4.03, English International, עבור Win95/NT. זה לא משנה. מעבר למספר הגרסה, ככל הנראה לא תצטרך את האינפורמציה הזו. לשמחתנו, קבלת מספר הגרסה מתוך המחרוזת המפלצתית הזו, הינו דבר די קל: אתה רק מוציא את המספר הראשון. הדרך המהירה ביותר לעשות זאת היא בעזרת פונקציה הנקראת parseFloat(), אשר מושכת את הדבר הראשון אשר נראה כמו מספר דצימלי מחוץ למחרוזת ומחזירה אותו:

var the_browser_version = navigator.appVersion;
var the_version_number = parseFloat(the_browser_version);

חוץ ממספר הגרסה, האינפורמציה ב- parseFloat()אינה אמינה. דפדפנים שונים עושים כל מיני דברים שונים ומשונים במחרוזת, והדבר היחיד שאתה יכול לסמוך עליו הוא הפרט הראשון הרשום והוא מספר הגירסה. לאחר מכן, זוהי תחרות חופשית. הדרך לומר איזה דפדפן הינו בשימוש שונה בין סוגי דפדפנים. אההה, החיים ברשת.

טוב, בוא נעשה משהו מועיל אם האינפורמציה הזו. לחץ על הכפתור למטה לראות שימוש ישיר מדהים באובייקט הנווט.

להלן שתי פונקציות רלוונטיות. לחיצה על הכפתור קוראת לפונקציית ()BrowserSizeUp:

function browserSizeUp()
{
  var browser = navigator.appName;
  var version = versionNumber();
  var the_string = browser + " " + version;

  if ((browser == "Netscape" || browser == "Microsoft Internet Explorer") &&
     (version >= 4))

  {
    alert("The browser doctor says: " + the_string + "? Now that's a beautiful browser!");
  } else {
    alert("The browser doctor says: " + the_string + ", Hmm. Maybe it's time to upgrade.");
  }
}

function versionNumber() {
// return version number (e.g., 4.03)
return parseFloat(navigator.appVersion)
}

מה קורה? אם אנו אוהבים את הדפדפן של הגולש, אנו מציגים הודעה מסוימת. אנו נותנים הודעה אחרת אם אנו חושבים שהיא או הוא צריכים דפדפן יותר מודרני. באפליקציה אמיתית, תשתמש ב - ()document.writeln על מנת ליצור HTML אשר מתאים לדפדפנים שונים.

מה שהגולשים רואים תלוי באיזה דפדפן הם משתמשים. למרבה הצער, עם כל סוגי הדפדפנים, גרסאות הדפדפנים, והבימות הקיימות, כמעט בלתי אפשרי לעקוב באיזו תכונה תומך איזה דפדפן. התופעה רק הולכת ומחמירה ככל שמספר הדפדפנים גדל ומספר התכונות שאתה צריך לעקוב אחריהן ממשיך לגדול.

למזלנו, יש דרך לשמור על שפיותך. המשך לקרוא ולמד על "אוביקט הזיהוי ומתודת הזיהוי".

חזור לתחילת הדף

לדף הבא «--

 
       
       
   
 
 

עמוד ראשי
מדריך בסיסי
מדריך מתקדם
החלפת תמונות
גניבת קוד
מפת האתר