Professional Documents
Culture Documents
ΔΙΑΛΕΞΗ V
JAVASCRIPT BOM –
BROWSER OBJECT MODEL
Μάθημα:
Σήμερα θα δούμε:
πως η JavaScript
μπορεί να
επικοινωνεί με το
φυλλομετρητή
(browser)
Παγκόσμιου Ιστού
μέσω του BOM.
2 2/12/2020
Επισκόπηση Μαθήματος
Timing events.
Cookies.
3 2/12/2020
Ανάπτυξη Συστημάτων Παγκόσμιου Ιστού
JAVASCRIPT BOM -
BROWSER OBJECT MODEL
4 2/12/2020
Τι είναι το BOM;
5 2/12/2020
Window Object (1/3)
6 2/12/2020
Window Object (2/3)
<p id="demo"></p>
<script>
window.document.getElementById("demo").innerHTML="Hello World!";
document.getElementById("demo").innerHTML="Hello World!";
</script>
</body>
</html> Ας ρίξουμε μια ματιά…
8 2/12/2020
Μέγεθος παραθύρου browser (1/3)
9 2/12/2020
Μέγεθος παραθύρου browser (2/3)
10 2/12/2020
Μέγεθος παραθύρου browser (3/3)
var x = document.getElementById("demo");
x.innerHTML = "Browser window width: " + w + ", height: " + h +".";
</script>
</body>
</html> Ας ρίξουμε μια ματιά… 11 2/12/2020
Μέθοδοι του window object
Μέθοδος Περιγραφή
12 2/12/2020
Screen Object (1/3)
Μέθοδος Περιγραφή
14 2/12/2020
Screen Object (3/3)
<p id="demo1"></p>
<p id="demo2"></p>
<p id="demo3"></p>
<p id="demo4"></p>
<p id="demo5"></p>
<p id="demo6"></p>
<script>
document.getElementById("demo1").innerHTML = "Screen width = " + screen.width;
document.getElementById("demo2").innerHTML = "Screen height = " + screen.height;
document.getElementById("demo3").innerHTML = "Available screen width = " + screen.availWidth;
document.getElementById("demo4").innerHTML = "Available screen height = " +
screen.availHeight;
document.getElementById("demo5").innerHTML = "Screen color depth = " + screen.colorDepth;
document.getElementById("demo6").innerHTML = "Screen pixel depth = " + screen.pixelDepth;
</script>
Ας ρίξουμε μια ματιά…
</body>
</html> 15 2/12/2020
Location Object (1/3)
16 2/12/2020
Location Object (2/3)
17 2/12/2020
Location Object (3/3)
<p id="demo1"></p>
<p id="demo2"></p>
<p id="demo3"></p>
<p id="demo4"></p>
<script>
function myFunction() {
document.getElementById("demo1").innerHTML="href = " + window.location.href;
document.getElementById("demo2").innerHTML= "host = " + window.location.host;
document.getElementById("demo3").innerHTML= "pathname = " + window.location.pathname;
document.getElementById("demo4").innerHTML= "protocol = " + window.location.protocol;
}
</script>
Ας ρίξουμε μια ματιά…
</body>
</html> 18 2/12/2020
History Object (1/3)
19 2/12/2020
History Object (2/3)
Μέθοδος Περιγραφή
history.back() Είναι το ίδιο με το να κάνει ο χρήστης κλικ στο
κουμπί ‘back’ του browser. Με άλλα λόγια,
φορτώνει την προηγούμενη URL διεύθυνση της
λίστας ιστορικού.
history.forward() Είναι το ίδιο με το να κάνει ο χρήστης κλικ στο
κουμπί ‘forward’ του browser. Με άλλα λόγια,
φορτώνει την επόμενη URL διεύθυνση της λίστας
ιστορικού.
20 2/12/2020
History Object (3/3)
<html>
<head>
<script>
function goBack() {
window.history.back()
}
function goForward() {
window.history.forward()
}
</script>
</head>
<body>
</body>
</html> Ας ρίξουμε μια ματιά…
21 2/12/2020
Navigator Object (1/4)
22 2/12/2020
Navigator Object (2/4)
23 2/12/2020
Navigator Object (3/4)
<script>
function myFunction() {
document.getElementById("demo1").innerHTML ="Cookies enabled is " +
navigator.cookieEnabled;
document.getElementById("demo2").innerHTML = "Name is " + navigator.appName +
"<br>Code name is " + navigator.appCodeName;
document.getElementById("demo3").innerHTML ="Browser engine is " +
navigator.product;
document.getElementById("demo4").innerHTML = navigator.appVersion;
document.getElementById("demo5").innerHTML = navigator.userAgent;
document.getElementById("demo6").innerHTML = navigator.platform;
document.getElementById("demo7").innerHTML = navigator.language;
}
</script> Ας ρίξουμε μια ματιά…
</body> 24 2/12/2020
</html>
Navigator Object (4/4)
Name = Netscape
Code name = Mozilla
Platform = Win32
Language = en-US
25 2/12/2020
JavaScript Popup Boxes
26 2/12/2020
Alert Box (1/2)
27 2/12/2020
Alert Box (2/2)
<script>
function myFunction() {
alert("I am an alert box!");
}
</script>
</body>
</html> Ας ρίξουμε μια ματιά…
28 2/12/2020
Confirm Box (1/2)
29 2/12/2020
Confirm Box (2/2)
</body>
</html> Ας ρίξουμε μια ματιά… 30 2/12/2020
Prompt Box (1/2)
31 2/12/2020
Prompt Box (2/2)
if (person != null) {
document.getElementById("demo").innerHTML =
"Hello " + person + "! How are you today?";
}
}
</script>
</body>
</html> Ας ρίξουμε μια ματιά… 32 2/12/2020
Timing Events
33 2/12/2020
Μέθοδος setInterval() (1/3)
Σύνταξη:
window.setInterval("function",millisecs);
function: η JavaScript συνάρτηση που θα εκτελεστεί.
millisecs: το χρονικό διάστημα που μεσολαβεί
ανάμεσα σε κάθε εκτέλεση.
Στις δηλώσεις της JavaScript, το πρόθεμα "window"
μπορεί να παραληφθεί.
34 2/12/2020
Μέθοδος setInterval() (2/3)
<p>When you close the alert box, an new alert box will
appear in 3 seconds.</p>
<button
onclick="setInterval(function(){alert('Hello')},3000);"
>Try it</button>
</body>
</html>
Ας ρίξουμε μια ματιά…
35 2/12/2020
Μέθοδος setInterval() (3/3)
<p id="demo"></p>
<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer() {
var d = new Date();
document.getElementById("demo").innerHTML =
d.toLocaleTimeString();
}
</script>
</body>
</html>
Ας ρίξουμε μια ματιά…
36 2/12/2020
Διακοπή της εκτέλεσης της setInterval()
Σύνταξη:
window.clearInterval(intervalVariable);
Για να είναι δυνατή η χρήση της clearInternal(…), απαιτείται η
χρήση μιας καθολικής μεταβλητής intervalVariable κατά τη
δημιουργία της μεθόδου setInterval(…).
intervalVariable =setInterval("javascript function", milliseconds);
Στις δηλώσεις της JavaScript, το πρόθεμα "window" μπορεί να
παραληφθεί.
37 2/12/2020
Μέθοδος clearInterval()
<p id="demo"></p>
<button onclick="clearInterval(myVar)">Stop
time</button>
<script>
var myVar = setInterval(function(){myTimer()},1000);
function myTimer() {
var d = new Date();
document.getElementById("demo").innerHTML =
d.toLocaleTimeString();
}
</script>
</body>
</html>
Ας ρίξουμε μια ματιά…
38 2/12/2020
Μέθοδος setTimeout() (1/2)
Σύνταξη:
window.setTimeout ("function",millisecs);
function: η JavaScript συνάρτηση που θα εκτελεστεί.
millisecs: το χρονικό διάστημα που πρέπει να παρέλθει για
να εκτελεστεί η συνάρτηση.
Στις δηλώσεις της JavaScript, το πρόθεμα "window"
μπορεί να παραληφθεί.
39 2/12/2020
Μέθοδος setTimeout() (2/2)
40 2/12/2020
Διακοπή της εκτέλεσης της setTimeout()
Σύνταξη:
window.clearTimeout(timeoutVariable);
Για να είναι δυνατή η χρήση της clearTimeout(…),
απαιτείται η χρήση μιας καθολικής μεταβλητής
timeoutVariable κατά την δημιουργία της μεθόδου
setTimeout(…).
timeoutVariable =setTimeout("javascript function",
milliseconds);
Στις δηλώσεις της JavaScript, το πρόθεμα "window"
μπορεί να παραληφθεί.
41 2/12/2020
Μέθοδος clearTimeout()
<button onclick="myVar =
setTimeout(function(){alert('Hello')},3000)">Try
it</button>
<button onclick="clearTimeout(myVar)">Stop</button>
</body>
</html>
Ας ρίξουμε μια ματιά…
42 2/12/2020
Cookies
Όταν ο server στείλει μια σελίδα στον browser ενός χρήστη, η μεταξύ τους
σύνδεση τερματίζεται και ο server πλέον δε "θυμάται" πληροφορίες για
αυτόν.
Όταν ο browser κάνει αίτηση για μια HTML σελίδα στον server, τα cookies
που ανήκουν σε αυτή τη σελίδα προστίθενται στην αίτηση. Έτσι, ο server
παίρνει την πληροφορία που χρειάζεται για να θυμηθεί πληροφορίες για
τους χρήστες.
43 2/12/2020
Ιδιότητα document.cookie
Ιδιότητα Σύνταξη
Δημιουργία cookie document.cookie="username=John Doe";
Δημιουργία cookie με document.cookie="username=John Doe;
ημερομηνία λήξης expires=Thu, 18 Dec 2013 12:00:00 UTC";
Ανάγνωση cookie var varName = document.cookie;
Τροποποίηση cookie Με τον ίδιο τρόπο που δημιουργούμε ένα cookie.
document.cookie="username=John Smith;
expires=Thu, 18 Dec 2013 12:00:00 UTC";
Διαγραφή cookie Θέτοντας την ημερομηνία λήξης του σε μια
περασμένη ημερομηνία.
document.cookie = "username= "John Smith";
expires=Thu, 01 Jan 1970 00:00:00 UTC";
44 2/12/2020
Παράδειγμα με Cookies (1/5)
45 2/12/2020
Παράδειγμα με Cookies (2/5)
Η συνάρτηση δέχεται ως
παραμέτρους:
function setCookie(cname, cvalue, exdays) {
var d = new Date(); cname: το όνομα του cookie.
d.setTime(d.getTime()+(exdays*24*60*60*1000)); cvalue: την τιμή του cookie.
var expires = "expires="+d.toUTCString(); exdays: το πλήθος των ημερών μέχρι
document.cookie = cname + "=" + cvalue + "; " να λήξει το cookie.
+ expires;
} Η συνάρτηση setCookie δημιουργεί
ένα cookie από την συνένωση των
cname, cvalue και exdays.
47 2/12/2020
Παράδειγμα με Cookies (4/5)
48 2/12/2020
Παράδειγμα με Cookies (5/5)
Το υλικό των διαφανειών προήλθε από τη σημαντική συνεισφορά της Β. Γκαντούνα, MSc.
50 2/12/2020