Javascript power!
- djsolid
- Kilobyte level
- Posts: 483
- Joined: Thu Dec 02, 2004 7:36 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Πετράλωνα
- Contact:
Re: Javascript power!
Αν δεν σου αρέσει το smooth gallery που σου είχα πει σε άλλο thread τότε κοίταξε αυτό
http://www.electricprism.com/aeron/slideshow/
http://www.electricprism.com/aeron/slideshow/
- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Re: Javascript power!
Μα μου αρεσει, και μάλιστα το εφτιαξα όπως το ήθελα... Το θέμα είναι ότι αυτό μου ζητάει ενεργοποίηση active X...djsolid wrote:Αν δεν σου αρέσει το smooth gallery που σου είχα πει σε άλλο thread τότε κοίταξε αυτό
http://www.electricprism.com/aeron/slideshow/
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: Javascript power!
Αυτό που ήθελες σε Javascript (ανοίγει όποια σελίδα θέλεις, απλά δινεις το url, και το μέγεθος του παραθύρου και το που θα εμφανιστεί στη σελίδα):
<script type="text/javascript">
function openUrl(myUrl,w,h,x,y){
mynewwindow= window.open(myUrl,"_blank","location=1,status=1,scrollbars=1,width="+w+",height="+h);
mynewwindow.moveTo(x,y);
}
</script>
Για το smooth gallery, δοκίμασε αυτό που σου έγραψα στο άλλο thread και βλέπουμε.
Edit: Ξέχασα να πω πως θα καλέσεις το script για να εμφανίζεται με το που μπαίνει κάποιος στη σελίδα. Στο body tag :
<body onload="javascript:openUrl('sample.html',640,480,100,100);">
<script type="text/javascript">
function openUrl(myUrl,w,h,x,y){
mynewwindow= window.open(myUrl,"_blank","location=1,status=1,scrollbars=1,width="+w+",height="+h);
mynewwindow.moveTo(x,y);
}
</script>
Για το smooth gallery, δοκίμασε αυτό που σου έγραψα στο άλλο thread και βλέπουμε.
Edit: Ξέχασα να πω πως θα καλέσεις το script για να εμφανίζεται με το που μπαίνει κάποιος στη σελίδα. Στο body tag :
<body onload="javascript:openUrl('sample.html',640,480,100,100);">
- Michelle
- Gbyte level
- Posts: 1168
- Joined: Sun Jul 15, 2007 8:05 pm
- Academic status: Alumnus/a
- Gender: ♀
- Location: MIT
- Contact:
Re: Javascript power!
Το separation of presentation and behavior επιτάσσει να μην έχουμε event handlers έτσι χύμα μέσα στην html. Το ίδιο θα μπορούσε να επιτχευχθεί γράφοντας ΜΟΝΟ μέσα στα script tags window.onload = function() { /* εδώ αυτό που θές να κάνει */ }cyberpython wrote: Edit: Ξέχασα να πω πως θα καλέσεις το script για να εμφανίζεται με το που μπαίνει κάποιος στη σελίδα. Στο body tag :
<body onload="javascript:openUrl('sample.html',640,480,100,100);">
Ακόμη και αυτό δεν θεωρείται και πολύ καλή πρακτική, διότι αν υπάρχει άλλος onload event handler τον ακυρώνει (και συνήθως έτοιμα scripts σαν αυτά που αναφέρετε έχουν), οπότε μια καλύτερη λύση είναι τα advanced event registration models, για τα οποία μπορείτε να διαβάσετε εδώ: http://www.quirksmode.org/js/events_advanced.html
Όσο για τα ActiveX, είναι αδύνατον να χρησιμοποιήσεις AJAX χωρίς ActiveX σε Internet Explorer 6, οπότε θεώρησα ότι γι'αυτό το ήθελε.
Question everything (and first of all, yourself)
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
- ~~Wind~~
- Gbyte level
- Posts: 1747
- Joined: Thu Nov 30, 2006 1:07 am
- Academic status: N>4
- Gender: ♂
- Location: *void
Re: Javascript power!
6 !? Δεν εχει βγει και 8 τωρα ?Michelle wrote:cyberpython wrote: Όσο για τα ActiveX, είναι αδύνατον να χρησιμοποιήσεις AJAX χωρίς ActiveX σε Internet Explorer 6, οπότε θεώρησα ότι γι'αυτό το ήθελε.
Come to foss-aueb ...we have cookies.. yamyam~nomnomnomnomnomnomnomnom
a cookie ~ I will do science to it
- Michelle
- Gbyte level
- Posts: 1168
- Joined: Sun Jul 15, 2007 8:05 pm
- Academic status: Alumnus/a
- Gender: ♀
- Location: MIT
- Contact:
Re: Javascript power!
Θα εκπλαγείς από το πόσοι χρησιμοποιούν ακόμα ΙΕ6...~~Wind~~ wrote:6 !? Δεν εχει βγει και 8 τωρα ?Michelle wrote:cyberpython wrote: Όσο για τα ActiveX, είναι αδύνατον να χρησιμοποιήσεις AJAX χωρίς ActiveX σε Internet Explorer 6, οπότε θεώρησα ότι γι'αυτό το ήθελε.
Question everything (and first of all, yourself)
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: Javascript power!
Thanks για την παρατήρηση Michelle!
Οπότε το script θα γίνει:
Όταν όμως υπάρχει pop-up blocker (όπως π.χ. στο Firefox που όμως σε ρωτά αν θέλεις να δεις το popup window, ενώ άλλες εφαρμογές τα μπλοκάρουν όλα χωρίς να ρωτάνε) θα κρύψει το παράθυρο.
Οπότε το script θα γίνει:
Code: Select all
<script type="text/javascript">
function openUrl(myUrl,w,h,x,y){
mynewwindow= window.open(myUrl,"_blank","location=1,status=1,scrollbars=1,width="+w+",height="+h);
mynewwindow.moveTo(x,y);
}
document.addEventListener('load', openUrl('sample.html',320,600, 100, 100),false);
</script>
- Michelle
- Gbyte level
- Posts: 1168
- Joined: Sun Jul 15, 2007 8:05 pm
- Academic status: Alumnus/a
- Gender: ♀
- Location: MIT
- Contact:
Re: Javascript power!
Όχι μόνο addEventListener! Αν διάβασες το link, ο IE χρησιμοποιεί δικό του event registration model, και όχι του W3C. Οπότε σε ΙΕ θα χρησιμοποιήσεις attachEvent (χρησιμοποιώντας object detection για να δεις τι υπάρχει διαθέσιμο. ΠΟΤΕ browser detection!!!). Προσοχή: Η attachEvent δέχεται διαφορετικό πλήθος παραμέτρων (2 αντί για 3).
Επίσης, για να λύσεις το πρόβλημα με το popup, μία λύση είναι να το βάλεις στον onlick event handler του window, οπότε δεν θα το κόβουν τα popup blockers. Το κακό είναι ότι τότε δεν θα βγαίνει μόλις φορτώνει το παράθυρο αλλά όταν ο χρήστης κάνει κάπου (οπουδήποτε) κλικ στη σελίδα.
Μια άλλη λύση που μου ήρθε τώρα και δεν έχω ιδέα αν θα δουλέψει είναι να χρησιμοποιήσεις στο onload του window μια setTimeout και να βάλεις να βγει το popup μετά από μισό δευτερόλεπτο πχ. Δεν ξέρω όμως αν θα δουλέψει.
Επίσης δεν μπορείς να βάλεις έτσι τη function στο addEventHandler/attachEvent! Μπαίνει μια αναφορά προς αυτήν, δηλαδή ΧΩΡΙΣ ΠΑΡΑΜΕΤΡΟΥΣ. Οπότε έιτε θα γράψεις τη function έτσι ώστε να μην δέχεται παραμέτρους, είτε θα χρησιμοποιήσεις μια anonymous function που θα την καλεί με τις παραμέτρους που θες. Αν ακολουθήσεις την πρώτη λύση, έχε υπόψιν ότι πάντα περνιέται ως πρώτη παράμετρος το event object σε browsers != IE (αυτό μπορεί να αποτελέσει πρόβλημα αν έχεις σκοπό να καλείς τη function χωρίς παραμέτρους μέσω του event και με παραμέτρους από κάποιο άλλο σημείο του script, κάτι που μου έχει τύχει).
Ελπίζω να μην σε μπέρδεψα. Ναι I know, ο "μοντέρνος" τρόπος είναι πιο δύσκολος (αλλά θεωρείται πιο σωστός). :/
Επίσης, για να λύσεις το πρόβλημα με το popup, μία λύση είναι να το βάλεις στον onlick event handler του window, οπότε δεν θα το κόβουν τα popup blockers. Το κακό είναι ότι τότε δεν θα βγαίνει μόλις φορτώνει το παράθυρο αλλά όταν ο χρήστης κάνει κάπου (οπουδήποτε) κλικ στη σελίδα.
Μια άλλη λύση που μου ήρθε τώρα και δεν έχω ιδέα αν θα δουλέψει είναι να χρησιμοποιήσεις στο onload του window μια setTimeout και να βάλεις να βγει το popup μετά από μισό δευτερόλεπτο πχ. Δεν ξέρω όμως αν θα δουλέψει.
Επίσης δεν μπορείς να βάλεις έτσι τη function στο addEventHandler/attachEvent! Μπαίνει μια αναφορά προς αυτήν, δηλαδή ΧΩΡΙΣ ΠΑΡΑΜΕΤΡΟΥΣ. Οπότε έιτε θα γράψεις τη function έτσι ώστε να μην δέχεται παραμέτρους, είτε θα χρησιμοποιήσεις μια anonymous function που θα την καλεί με τις παραμέτρους που θες. Αν ακολουθήσεις την πρώτη λύση, έχε υπόψιν ότι πάντα περνιέται ως πρώτη παράμετρος το event object σε browsers != IE (αυτό μπορεί να αποτελέσει πρόβλημα αν έχεις σκοπό να καλείς τη function χωρίς παραμέτρους μέσω του event και με παραμέτρους από κάποιο άλλο σημείο του script, κάτι που μου έχει τύχει).
Ελπίζω να μην σε μπέρδεψα. Ναι I know, ο "μοντέρνος" τρόπος είναι πιο δύσκολος (αλλά θεωρείται πιο σωστός). :/
Question everything (and first of all, yourself)
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: Javascript power!
ΟΚ!
Αν και σε firefox δουλεύει μια χαρά όπως το έγραψα (το δοκίμασα πριν κάνω το post το απόγευμα).
Αν και σε firefox δουλεύει μια χαρά όπως το έγραψα (το δοκίμασα πριν κάνω το post το απόγευμα).
- Michelle
- Gbyte level
- Posts: 1168
- Joined: Sun Jul 15, 2007 8:05 pm
- Academic status: Alumnus/a
- Gender: ♀
- Location: MIT
- Contact:
Re: Javascript power!
Περίεργο!cyberpython wrote:ΟΚ!
Αν και σε firefox δουλεύει μια χαρά όπως το έγραψα (το δοκίμασα πριν κάνω το post το απόγευμα).
Question everything (and first of all, yourself)
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Re: Javascript power!
Code: Select all
<script type="text/javascript" src="milonic_src.js"></script>
<script type="text/javascript" src="mmenudom.js"></script>
<noscript><a href=http://www.milonic.com/>JavaScript DHTML menu is only visible when JavaScript is enabled</a></noscript>
<!-- The next file contains your menu data, links and menu structure etc -->
<script type="text/javascript" src="menu_data.js"></script>
Γιατί...? Τι να κάνω...?JavaScript DHTML menu is only visible when JavaScript is enabled
- Ισοβίτης
- Venus Former Team Member
- Posts: 1262
- Joined: Sat Apr 21, 2007 5:45 pm
- Gender: ♂
- Location: Πίσω από τα σίδερα
- Contact:
Re: Javascript power!
Σου εμφανίζεται το μήνυμα που υπάρχει μέσα στο tag <noscript>, οπότε λογικά ο browser που χρησιμοποιείς έχει απενεργοποιημένη τη JavaScript.
Στο Firefox πηγαίνεις Tools -> Options -> Content και τσεκάρεις το "Enable JavaScript".
Στο Firefox πηγαίνεις Tools -> Options -> Content και τσεκάρεις το "Enable JavaScript".
- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Re: Javascript power!
Δεν είναι αυτό.. Εϊναι ενεργοποιημένα κανονικά...Ισοβίτης wrote:Σου εμφανίζεται το μήνυμα που υπάρχει μέσα στο tag <noscript>, οπότε λογικά ο browser που χρησιμοποιείς έχει απενεργοποιημένη τη JavaScript.
Στο Firefox πηγαίνεις Tools -> Options -> Content και τσεκάρεις το "Enable JavaScript".
Μήπως φταίει ότι το js το βάζω σε ένα κομμάτι που ορίζεται απο css...??? Το css που λέω είναι το:
- Spoiler: εμφάνιση/απόκρυψη
Code: Select all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="all">
<div id="container">
<!-- header -->
<div id="logo">.....</div>
<div id="menu">
<script type="text/javascript" src="milonic_src.js"></script>
<script type="text/javascript" src="mmenudom.js"></script>
<noscript><a href=http://www.milonic.com/>JavaScript DHTML menu is only visible when JavaScript is enabled</a></noscript>
<!-- The next file contains your menu data, links and menu structure etc -->
<script type="text/javascript" src="menu_data.js"></script>
</div>
<!--end header -->
<!-- main -->
............................
</body>
</html>
- Michelle
- Gbyte level
- Posts: 1168
- Joined: Sun Jul 15, 2007 8:05 pm
- Academic status: Alumnus/a
- Gender: ♀
- Location: MIT
- Contact:
Re: Javascript power!
H HTML σου είναι invalid.
Με τόσο invalid HTML δεν είναι να απορείς για όλων των ειδών τα προβλήματα.
Όσον αφορά το γιατί είναι invalid, πήγαινε στο http://validator.w3.org/
Με τόσο invalid HTML δεν είναι να απορείς για όλων των ειδών τα προβλήματα.
Όσον αφορά το γιατί είναι invalid, πήγαινε στο http://validator.w3.org/
Question everything (and first of all, yourself)
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Re: Javascript power!
Αυτό το html είναι από τα free templates... Πως είναι invalid λοιπόν...? Eγώ δεν άλλαξα κάτι παρα μόνο έβαλα το κομμάτιMichelle wrote:H HTML σου είναι invalid.
Με τόσο invalid HTML δεν είναι να απορείς για όλων των ειδών τα προβλήματα.
Όσον αφορά το γιατί είναι invalid, πήγαινε στο http://validator.w3.org/
Code: Select all
<script type="text/javascript" src="milonic_src.js"></script>
<script type="text/javascript" src="mmenudom.js"></script>
<noscript><a href=http://www.milonic.com/>JavaScript DHTML menu is only visible when JavaScript is enabled</a></noscript>
<!-- The next file contains your menu data, links and menu structure etc -->
<script type="text/javascript" src="menu_data.js"></script>
- Michelle
- Gbyte level
- Posts: 1168
- Joined: Sun Jul 15, 2007 8:05 pm
- Academic status: Alumnus/a
- Gender: ♀
- Location: MIT
- Contact:
Re: Javascript power!
Είτε είναι invalid, είτε έκανες λάθος paste.
Το από που είναι δεν την καθιστά αυτομάτως valid.
Παραδείγματος χάριν, δεν έχει start tag για το head.
Το από που είναι δεν την καθιστά αυτομάτως valid.
Παραδείγματος χάριν, δεν έχει start tag για το head.
Question everything (and first of all, yourself)
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
w3.org/People/all#lea ✿ lea.verou.me ✿ @leaverou on Twitter
- Ισοβίτης
- Venus Former Team Member
- Posts: 1262
- Joined: Sat Apr 21, 2007 5:45 pm
- Gender: ♂
- Location: Πίσω από τα σίδερα
- Contact:
Re: Javascript power!
Κατ' αρχάς, φτιάξε το head. Υπάρχει tag </head> που κλείνει, αλλά δεν ανοίγει πουθενά. Δηλαδή, απλά πρόσθεσε "<head>" μετά το "<html>".
Στη συνέχεια, αν πάλι δεν δουλεύει, δοκίμασε να δηλώσεις τα <script> tags στο head, κάτω από το tag που εισάγεις το CSS.
Τέλος, βεβαιώσου ότι τα αρχεία milonic_src.js, mmenudom.js και menu_data.js βρίσκονται στο ίδιο directory με το αρχείο html.
Στη συνέχεια, αν πάλι δεν δουλεύει, δοκίμασε να δηλώσεις τα <script> tags στο head, κάτω από το tag που εισάγεις το CSS.
Τέλος, βεβαιώσου ότι τα αρχεία milonic_src.js, mmenudom.js και menu_data.js βρίσκονται στο ίδιο directory με το αρχείο html.
- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Re: Javascript power!
Εννοείται ότι το <head> απλά έτυχε στο c-p εδώ να το ξεχάσω...Ισοβίτης wrote:Κατ' αρχάς, φτιάξε το head. Υπάρχει tag </head> που κλείνει, αλλά δεν ανοίγει πουθενά. Δηλαδή, απλά πρόσθεσε "<head>" μετά το "<html>".
Στη συνέχεια, αν πάλι δεν δουλεύει, δοκίμασε να δηλώσεις τα <script> tags στο head, κάτω από το tag που εισάγεις το CSS.
Τέλος, βεβαιώσου ότι τα αρχεία milonic_src.js, mmenudom.js και menu_data.js βρίσκονται στο ίδιο directory με το αρχείο html.
Όλα όσα προτίνεις Ισοβίτη τα έχω κάνει...
ΓΜΤ
- Ισοβίτης
- Venus Former Team Member
- Posts: 1262
- Joined: Sat Apr 21, 2007 5:45 pm
- Gender: ♂
- Location: Πίσω από τα σίδερα
- Contact:
Re: Javascript power!
Και ένα ενδιαφέρον αρθράκι για την ολοένα αυξανόμενη χρήση (και δύναμη) των scripting γλωσσών: Scripting languages spark new programming era.