קוד להמחשה ( במצב פרודקשיין, אולי כדאי לעשות קריאת אגקס לשרת, לבדוק אם ה Session בתוקף, אבל הקוד יעבוד היטב גם בלי זה )
הערה : השורה הראשונה מושכת את הסקריפט, אני עובד עם Laravel בצד שרת, ולכן הפקודה asset – וסימני הסוגרים המסולסלים ( כנ"ל בשורה האחרונה ) .
<!-- jquery inactivity -->
<script src="{{ asset('js/jquery-inactivity/jquery.inactivity.min.js') }}">
</script>
<script>
// https://github.com/afklondon/jquery.inactivity
$(document).inactivity( {
interval: 1800000, // the timeout until the inactivity event fire [default: 3000]
mouse: true, // listen for mouse inactivity [default: true]
keyboard: true, // listen for keyboard inactivity [default: true]
touch: true, // listen for touch inactivity [default: true]
customEvents: "", // listen for custom events [default: ""]
triggerAll: false , // if set to false only the first "activity" event will be fired [default: false]
});
$(document).on("inactivity", function(){
// function that fires on inactivity
console.log('loged out beacuse of inactivity');
window.location = "{{ route('logout') }}";
});
</script>
JavaScript היא שפת הסקריפטים הרשמית של ה-w3c.
מעתה היא חלק מהתקן של html, ולכן אין צורך לציין type בתגית script (אם כי לא מזיק).
השפה מאוד נפוצה בצורות רבות של ישומיים : דפי web – כשפת צד לקוח, בשרתים, בתור שפת האפליקציות של win8 , בתור שפת גישה לאלמנטים שונים ב-API נפוצים ועוד.
כתיבה למסך
document.write("
This is a heading
;");
אם משתמשים במתודה הזו אחרי שהדף נטען – אז למעשה מוחקים את תוכן הדף וכותבים תוכן חדש.
תגובה לאירועים – דוגמא :
;
שינוי ה-HTML / ה-CSS / או כל אוביקט אחר של משהו בדף – באמצעות JS ניתן לשנות כל אלמנט בדף.
אחת הצורות לגשת לאובייקטים בדף היא באמצעות השיטה getelementbyid , כמובן שבשביל שזה יעבוד צריך שתהיה תגית ID לאוביקט הרלוונטי בדף.
להלן דוגמא לשינוי HTML :
x=document.getElementById("demo") //Find the element
x.innerHTML="Hello JavaScript"; //Change the content
בצורה דומה אפשר לשנות גם מאפייני CSS, או SRC של תגית IMG ועוד ועוד.
שימוש ב-JavaScript לצורך וידוא של מילוי נכון של טפסים – אחד השימושים הנפוצים הוא וידוא שהמשתמש מילא נכון טפסים שונים. מה שנקרא וואלידציה.
דוגמא :
if isNaN(x) {alert("Not Numeric")};
שימוש בתוך HTML – בתגית script פונקציות – כמובן אפשר לארוז רצף פקודות בתור פונקציות. מבחינת js זה לא משנה. תגובה לאירועים בדפדפן – אפשר לשים פקודות js בתוך התגובה עצמה, ממש בתוך ה-attribute של התגית html. או לחלופין לקרוא לפונקצית js שהוגדרה במקום אחר (אין משמעות איפה מגדירים את הפונקציות בתוך הדף – זה יכול להיות ב-Head או ב-body.
הנה דוגמא :
שמירה של קובץ javascript בקובץ חיצוני – כמו css, גם js אפשר לשמור חיצונית. ואז בתוך חלק ה-Head קוראים לו באמצעות הפניה.
עכשיו כל מיני דוגמאות:
—————————–
שינוי דברים בתוך דף ה-html : – בדוגמא הבאה ניגשים לאוביקט p בתוך הדף לפי ה-id שלו, ומשנים את תוכנו.
My First Paragraph
כתיבה לתוך הדף – בדוגמא הבאה כותבים ישירות לדף. צריך לזכור, שבמידה ומפעילים את הפקודה הזו, אחרי שהדף כבר נטען (למשל באמצעות לחיצה על כפתור) אז מה שיקרה הוא – שאנחנו נגרום להחלפת ה-Html של אותו דף… וזה בדר"כ לא רצוי.
pre>
Javascript רגישה לאותיות גדולות וקטנות.
Javascript מתעלמת מרווחים, אבל עדין כל פקודה – בשורה אחת.
בסוף כל פקודה – שמים "נקודה פסיק" ;
אם רוצים "לחלק" string לכמה שורות, עושים זאת עם סימן backslash , ככה:
document.write("Hello
World!");
הערות ב-JS עושים עם סלאש כפול בתחילת ההערה //
או באמצעות /* */ – בדיוק כמו ב-php ועוד.
משתנים :
———–
– צריך להצהיר עליהם באמצעות הפקודה var , אבל לא מגדירים את הסוג שלהם.
– אפשר להכניס להם ערך מייד כאשר מצהירים עליהם, באמצעות סימן "שווה" =, למשל var x = 5
– משתנה שהצהרנו עליו, מקבל אוטמטית ערך שנקרא undefined, אבל אם נרצה לרוקן משתנה, צריך להציב לתוכו ערך null
person=null;
– אם מצהירים על משתנה שעבר קיים, אז המשתנה *לא* מאבד את הערך שלו.
– כשרוצים להכניס string, אפשר להשתמש במרכאות כפולות, או בגרש בודד. למשל var a="jj",b='ff' וכדומה
– כשרוצים להכניס ערכים בוליאנים, פשוט כותבים true או false , למשל var a=true
מערכים
——–
– מצהירים עליהם ככה :
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
ובצורה מקוצרת ככה :
var cars=new Array("Saab","Volvo","BMW");
אוביקטים
————
מגדרים אוביקטים עם סוגרים מסולסלים :
var person={firstname:"John", lastname:"Doe", id:5566};
כאשר person הוא שם האוביקט, והמאפיינם שלו הם firstname,lastname,id , והערכים של המאפיינים – זה מה שהצבנו.
אם יותר נוח – אפשר כמובן בכמה שורות ככה :
var person={
firstname : "John",
lastname : "Doe",
id : 5566
};
איך ניגשם למאפיינים של אוביקט ?
יש 2 צורות :
name=person.lastname;
name=person["lastname"];
איך מגדירים משתנים רגילים – בתור אוביקטים ?
– תשובה : ברגע שמוסיפים להצהרה את המילה new – אז המשתנה הופך להיות אוביקט.
– ב-JS כל סוג המשתנים יכולים להיות אוביקטים, ולמען האמת יותר קל לעבוד איתם ככה.
var name = new String;
var x = new Number;
var y = new Boolean;