macabre_sunsets Δημοσ. 24 Φεβρουαρίου 2011 Δημοσ. 24 Φεβρουαρίου 2011 Χρησιμοποιώ το SqueezeBox για να πετύχω ένα LightBox effect. Όμως το παραμετροποίησα λιγάκι και πλεον όταν κάνω click πάνω σε κάποιες εικόνες απλά μαυρίζει το body της σελίδας και εικόνα δεν φαίνεται. Εαν κάνω reload και πατήσω πάλι πάνω στην εικόνα τότε παίζει μια χαρά. Να συμπληρώσω πως ακόμα και με ESC δεν φεύγει το μαύρο overlay από την σελίδα, με αποτέλεσμα να μην μπορεί να κάνει τίποτα ο επισκέπτης παρά μόνο reload. Η συμπεριφορά αυτή υπάρχει μόνο στον Firefox (και Iceweasel) ενώ σε Chrome και IE8 παίζει κανονικά. Ο λόγος που χρησιμοποιώ SqueezeBox και όχι κάποιο άλλο είναι επειδή αυτό είναι το default του Joomla! και θα ήθελα να αποφύγω την χρήση κάποιου τρίτου script. Οι παραμετροποιήσεις που έκανα είναι οι ακόλουθες: Άλλαξα το >window.addEvent('domready', function() {[...] SqueezeBox.assign($$('a.modal'));[...] σε >window.addEvent('domready', function() {[...] SqueezeBox.assign($$('img.modalized'));[...] με αποτέλεσμα να εκτελείται το script όταν επιλέγω μια εικόνα με class="modalized" (αντί για links με class="modal"). Έπειτα άλλαξα το >this.url = ((this.element) ? (this.element.get('href')) : subject) || this.options.url || ''; σε >this.url = ((this.element) ? (this.element.get('src').replace('_thumb', '')) : subject) || this.options.url || ''; ώστε να παίρνω το src της εικόνας και όχι το href από το <a> tag. Επίσης, αφαιρώ το _thumb από το όνομα της εικόνας ώστε να πάρω το filename της κανονικής εικόνας. Εάν κάνω alert το this.url μου επιστρέφει το σωστό filename πάντα, ακόμα και αν δεν εμφανίζει το effect σωστά. Προσπάθησα μέσω FireBug να βγάλω κάποια άκρη αλλά δυστυχώς δεν τα κατάφερα. Να αναφέρω πως αν παραλείψω το .replace('_thumb', '') τότε το script παίζει μια χαρά. Έχετε καμιά ιδέα γιατί να μην παίζει το script; Τόσο πολύ εππηρεάζεται από το replace; Έχω φτιάξει ένα demo εδώ εάν θέλει κάποιος να το δοκιμάσει με FireFox ή να δει τα scripts.
thanocaster Δημοσ. 24 Φεβρουαρίου 2011 Δημοσ. 24 Φεβρουαρίου 2011 Ο firebug μου επιστρέφει αυτό το error όταν σπάει: > Firebug's log limit has been reached. 0 entries not shown. Preferences uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOM3Node.compareDocumentPosition]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://testing.macabre-sunsets.gr/box/mootools-core.js :: anonymous :: line 1" data: no] Γιατί δεν τον αφήνεις με το "_thumb" το filename, και να βγάλεις το thumb μόνο εκεί που εμφανίζεται;
macabre_sunsets Δημοσ. 24 Φεβρουαρίου 2011 Μέλος Δημοσ. 24 Φεβρουαρίου 2011 Ομολογώ πως δεν είχα δει την κονσόλα για να δω αυτό το error. Παρ'όλα αυτά δεν καταλαβαίνω τι λέει :/ Πιστεύοντας ότι φταίει το script, είπα να δοκιμάσω με ένα άλλο. Δυστυχώς και πάλι η συμπεριφορά είναι ίδια με εξαίρεση ότι πλέον εμφανίζεται το κουμπί για το κλείσιμο του «παραθύρου». Ομοίως, αν το κλείσω και πατήσω στην εικόνα πάλι τότε αυτή φαίνεται σωστά. Οπότε οδηγούμαι στο συμπέρασμα ότι για κάποιο λόγο δεν μπορεί να φορτώσει την full-sized εικόνα. Δοκίμασα να βάλω το replace ακριβώς στο σημείο που εμφανίζεται η εικόνα αλλά το αποτέλεσμα ήταν και πάλι ίδιο. Αρχίζω να πιστεύω πως δεν γίνεται αυτό που θέλω όπως το προσπαθώ :/
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.