וכד ומוסיפים לו
את המאפיין.(ואז אם שאר העמוד מוגדר
LTR כברירת מחדל, פס הגלילה יהיה
בצד ימין).
לדוגמא אפשר גם לקבוע את המאפיין לתגית בצורה הזאת:.
RTL -ואז הדף מוגדר כ .
שמים את התגית הזאת :
בין שתי תגיות ה- , זה מגדיר לדפדפן להציג את הטקסט בעברית
לוגית, ולא בשום שפה אחרת
שבגללה יכול להיות כתוב לנו גיבריש בדפים.
כשמאחזרים מידע ממסד נתונים (בדר"כ ממסד מסוג אקסס), לפעמים המידע שכתוב
בעברית מאוחזר
בצורת סימני שאלה בניגוד למידע באנגלית שמופיע כמו שצריך.
הבעיה נובעת מכך שהמידע לא מפורש נכון בידי השרת, מאחר והוא לא יודע את הקידוד
המתאים לשפה
את הבעיה הזאת פותרים על ידי השמה של השורה הזאת בראש כל דף (שמתעסק עם ה- DB):
<%@Language=VBScript codepage=1255%>
השורה הזאת מגדירה לשרת להשתמש בקוד פייג של עברית לוגית (1255), בנוסף שפת
השרת מוגדרת
כ- VBSCRIPT כאן, אז אם זאת שפה אחרת (Javascript וכד) יש לשנות
בהתאם (או להוריד את החלק של השפה).
חשוב לשים את השורה הזאת של ההגדרה בכל הדפים שקשורים ל- DB , כולל דפים
שמזינים נתונים,
כי אחרת, אם יוזנו סימני שאלה למסד, אז זה לא יעזור מה שלא נשים בקריאה, כי במסד
יהיו סימני שאלה.
בשרתים שממוקמים על מחשבים זרים שלא בארץ ולא בעלי תמיכה בסיסית בעברית, כאשר
שומרים מידע בעוגיות, הוא נשמר כסימני שאלה.
על מנת לסדר את זה, ניתן להשתמש בפונקציה שכתב מישל מקסב ושופצה ע"י אדיר
דידי.
function hebEncode(txt) encode Hebrew Chars
dim i, p, pAsc
hebEncode =""
for i = 1 to len(txt)
p = mid(txt,i,1)
pAsc = asc(p)
if pAsc>223 and pAsc<251 then p = server.htmlEncode(p)
hebEncode = hebEncode & p
next
end function
איך עושים שהדף לא יעלה מה- CACHE ושתמיד יוצג תוכן מעודכן לגולש ?
משתמשים בסאב הבא :
sub no_cache()
Response.Expires = 60
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
end sub
איך מכלילים דף אחד בתוך דף אחר (INCLUDE) ?
למה לנו להכליל דף אחד בתוך אחר ?
אם יש לנו דף שבו אנחנו מגדירים את החיבור למסד, או דף שמכיל בתוכו פונקציות
שונות,
במקום להוסיף את קטעי הטקסט לכל דף מחדש, מכלילים את הדף האחד בשני, ואז אם משנים
משהו
באחת הפונקציות או בהגדרות החיבור, צריכים לשנות רק דף אחד ולא את כל הדפים שמשתמשים
בדף הזה.
הצורה הפשוטה של תגית האינקלוד היא :
כאן אנו מורים לשרת להכליל את הדף filename.inc .
אפשר להשתמש בכל סיומת , אבל מומלץ להשתמש בסיומת ASP מכיוון שאז אם מישהו
נכנס לכם
לקובץ הוא יכול לראות את מה שכתוב בו, אבל לא בסיומת ASP כי אז הקוד מפוענח
בשרת ללא קשר
אם הקובץ מוכלל או לא, ולא ניתן לראות את הקוד.
אי אפשר לשים משתנים ב- INCLUDE אפשר להריץ בעזרת CASE או IF
, אינקלוד מסויים
אבל אז צריך לרשום את כולם במדוייק.
קיימת גם פקודה בשם SERVER.EXECUTE , שהיתרון שלה הוא שהיא
מריצה את דף ה-ASP רק אם נעשה בו שימוש, ולהבדיל מאינקלוד, השרת לא עובר
עליו אלא אם הוא הנבחר. (באינקלוד כל הדפים מפוענחים קודם). החיסרון של SERVER.EXECUTE
הוא שאי אפשר להעביר משתנים, (אפשר אולי לפתור חלק מהבעיות עם עוגיות) וערכים ופונקציות
לא נשארים.
דבר חשוב : אי אפשר לעשות אינקלוד עם פרמטרים או משתנים, מה שכתוב בו הוא מה
שיתבצע,
ודבר זה לא ניתן לשינוי.
זאת למשל דוגמא לא נכונה
הקוד בדוגמא לא נכון כי יש משתנה בהפניה.
בהצלחה!