Js στην Opera

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Js στην Opera

Δημοσίευση από Ryu » 01 Φεβ 2005 14:16

Έφτιαξα ένα js αρχείο αλλά η opera οτιδήποτε είναι στα ελληνικά το βλέπει σαν αλαμπορνέζικα. Τι φταίει; Μπορώ να κάνω κάτι χωρίς Js (σαν τελευταία λύση)

Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Js στην Opera

Δημοσίευση από Ryu » 03 Φεβ 2005 08:52

κανείς;

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Js στην Opera

Δημοσίευση από ThyClub » 03 Φεβ 2005 08:54

Το πρόβλημα είναι οτι στο script σου τα βγάζει αλαμπουρνέζικα ή γενικά όλη τη σελίδα;

Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Js στην Opera

Δημοσίευση από Ryu » 03 Φεβ 2005 08:58

Μόνο στο script Τα υπόλοιπα τα βλέπει κανονικά! (??)

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Js στην Opera

Δημοσίευση από ThyClub » 03 Φεβ 2005 09:04

Δώσε κάποιο λίνκ ή έστω μια εικόνα να δώ τι ακριβώς γίνεται

Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Js στην Opera

Δημοσίευση από Ryu » 03 Φεβ 2005 09:26

Επειδή δεν έχω μέρος να ανεβάσω κανένα link (για την ώρα... πρώτα ήθελα να φτιάξω την σελίδα και μετά να βρω μέρος να την βάλω) γι'αυτό είπα να κάνω copy/paste τον κώδικα εδώ να τον δεις. Και κάνοντας πειράματα (ένα preview έκανα στην opera να δω μήπως και άλλαξε ως δια μαγείας σε τίποτα) ανακάλυψα - μάλλον - το πρόβλημα. Η opera ήταν setαρισμένη στο encoding (μόλις την είχα κάνει install) να βρίσκει το encoding με automatic detection. Μιας και δεν την χρησιμοποιώ σε γενικές γραμμές (μόνο για design preview την έχω) δεν πήγε καν το μυαλό μου εκεί. Και αυτό που με μπέρδεψε ήταν ότι το μισό περιεχόμενο φαινόταν (html) ενώ το άλλο όχι (js). Τώρα βέβαια το άλλαξα και φαίνεται οκ, αλλά κατά τα άλλα εξακολουθεί να υπάρχει ένα μικρό πρόβλημα. Δεν μπορεί να πατάει ο χρήστης κάθε φορά 5-10 κουμπιά για να δει μια σελίδα στα ελληνικά. Εντάξει οι περισσότεροι το έχουν βάλει αλλά στον mozilla και explorer δεν χρειάζεται να το βάλεις manually. Γιατί εδώ υπάρχει ανάγκη;

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Js στην Opera

Δημοσίευση από agrippas » 03 Φεβ 2005 09:40

Είναι θέμα encoding της σελίδας. Πρέπει να έχει οριστεί σε ελληνικό. Υποψιάζομαι ότι η javascript σου γράφει σε κάποιο frame που δεν έχει σωστό encoding, ή ότι κανεις με τη javascript κάποια μετατροπή του ελληνικού string - δηλ. το γυρνάς σε UTF8 και μετά πάλι σε ISO ή WIN. Δείξε μας τον html και javascript κώδικα.

Η υποστήριξη encoding από την Opera δεν έχει πρόβλημα. Το δείχνει όπως είναι ορισμένο από τη σελίδα. Μάλιστα είναι ένα από τα ατού της (μαζί με το CSS/DHTML και την ευχρηστία).

Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Js στην Opera

Δημοσίευση από Ryu » 03 Φεβ 2005 10:07

agrippas έγραψε:Είναι θέμα encoding της σελίδας. Πρέπει να έχει οριστεί σε ελληνικό.
Έχει οριστεί στο ελληνικό:

Κώδικας: Επιλογή όλων

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">
Υποψιάζομαι ότι η javascript σου γράφει σε κάποιο frame που δεν έχει σωστό encoding,
Όχι δεν έχω κανένα frame (όχι μόνο επειδή πάντα με μπέρδευε ο κώδικας τους αλλά και επειδή δεν ειναι καθόλου χρήσιμα, π.χ στις μηχανές αναζήτησης. Δεν βάζω ποτέ μου μου frames)
ή ότι κανεις με τη javascript κάποια μετατροπή του ελληνικού string - δηλ. το γυρνάς σε UTF8 και μετά πάλι σε ISO ή WIN.
Τίποτα τέτοιο δεν κάνω. Μα γιατί να το κάνω; Και πώς ακριβώς δηλ το εννοείς;

Το js script είναι αυτό:

Κώδικας: Επιλογή όλων

document.write&#40;" περιεχόμενο εδώ &#40;images και links και τίποτα άλλο... ούτε διπλά αυτάκια ούτε τίποτα "παράνομο"&#41; "&#41;;
Όσο για το html code το μοναδικό που περιέχει είναι το css (span kai divs) και λίγα κείμενα. Και για την ώρα δεν έχω βάλει ούτε τα meta tags παρά μόνο το encoding:

Κώδικας: Επιλογή όλων

 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">
και το js μενού που είχε πρόβλημα.... Όπως βλέπεις όλα υποτίθετε ότι είναι σωστά.. Να γιατί κουφάθηκα....
Η υποστήριξη encoding από την Opera δεν έχει πρόβλημα. Το δείχνει όπως είναι ορισμένο από τη σελίδα. Μάλιστα είναι ένα από τα ατού της (μαζί με το CSS/DHTML και την ευχρηστία).
Ναι το ξέρω ότι είναι αρκετά καλή απλά έχω συνηθίσει mozilla.

Ευχαριστώ για την βοήθεια! Ευτυχώς το βρήκα...

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Js στην Opera

Δημοσίευση από agrippas » 03 Φεβ 2005 10:59

Ε πες μας πώς το βρήκες ντε μπας και το χρειαστεί και κανείς άλλος

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Js στην Opera

Δημοσίευση από skeftomilos » 15 Φεβ 2005 06:37

Είναι μυστικό? :P

Μία πιθανότητα είναι να είχε σώσει ο Ryu το js αρχείο σε UTF encoding (αλλά δε νομίζω).

Έχω διαβάσει και αλλού για τη λεγόμενη συμβατότητα του Opera με τα web standards, οφείλω όμως να ομολογήσω ότι εγώ δεν έχω διαπιστώσει κάτι τέτοιο. Ένα απλό παράδειγμα:

Κώδικας: Επιλογή όλων

<a href="http&#58;//www.htmlgoodies.com" 
  onMouseOver="window.status='Go to the Goodies Home Page';return true"
  onMouseOut="window.status=''">Click Here</a>
Ο σκοπός του παραπάνω script είναι να αλλάζει το κείμενο στη statusbar όταν ο χρήστης αιωρεί το mouse πάνω από το link. Στον IE και τον Firefox δουλεύει κανονικά. Στον Opera όχι, παρά μόνο αν αντί για true ο χειριστής συμβάντος onMouseOver επιστρέφει false! Είναι πιθανό να έχει δίκιο ο Opera και άδικο όλοι οι άλλοι, αλλά τι να το κάνω εγώ το δίκιο του ως προγραμματιστής όταν πρέπει να επιλέξω μεταξύ true και false? Να επιλέξω false για να τρέχει μόνο στον Opera? Ή να χάνω τον καιρό μου ελέγχοντας τον user_agent και κάνοντας παραμετροποιήσεις ρουτινών μόνο και μόνο για να ικανοποιήσω τον browser που χρησιμοποιεί το 2% των χρηστών?

Υ.Γ. Να σημειώσω ότι ο Opera δεν είναι καν XML-enabled browser, και ότι έχω και άλλα ράμματα για τη γούνα του!:crash:
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Tanaka
Δημοσιεύσεις: 174
Εγγραφή: 27 Απρ 2004 21:40
Τοποθεσία: Κορωπί

Js στην Opera

Δημοσίευση από Tanaka » 15 Φεβ 2005 09:13

skeftomilos έγραψε: Έχω διαβάσει και αλλού για τη λεγόμενη συμβατότητα του Opera με τα web standards, οφείλω όμως να ομολογήσω ότι εγώ δεν έχω διαπιστώσει κάτι τέτοιο. Ένα απλό παράδειγμα:

Κώδικας: Επιλογή όλων

<a href="http&#58;//www.htmlgoodies.com" 
  onMouseOver="window.status='Go to the Goodies Home Page';return true"
  onMouseOut="window.status=''">Click Here</a>
Ο σκοπός του παραπάνω script είναι να αλλάζει το κείμενο στη statusbar όταν ο χρήστης αιωρεί το mouse πάνω από το link. Στον IE και τον Firefox δουλεύει κανονικά. Στον Opera όχι, παρά μόνο αν αντί για true ο χειριστής συμβάντος onMouseOver επιστρέφει false! Είναι πιθανό να έχει δίκιο ο Opera και άδικο όλοι οι άλλοι, αλλά τι να το κάνω εγώ το δίκιο του ως προγραμματιστής όταν πρέπει να επιλέξω μεταξύ true και false? Να επιλέξω false για να τρέχει μόνο στον Opera?
Άσχετο αλλά γιατί θα πρέπει το script να επιτρέφει true ή false. Επίσης αν δεν υπάρχει κάποιο return statement λειτουργεί κανονικά και στου τρεις browser.
skeftomilos έγραψε: Υ.Γ. Να σημειώσω ότι ο Opera δεν είναι καν XML-enabled browser, και ότι έχω και άλλα ράμματα για τη γούνα του!:crash:
Για πιο λόγο πρέπει ένας browser να είναι XML-enabled?

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Js στην Opera

Δημοσίευση από skeftomilos » 15 Φεβ 2005 22:21

Από το manual της JavaScript 1.3 (Netscape) για το συμβάν onMouseOver:
You must return true within the event handler if you want to set the status or defaultStatus properties with onMouseOver.

Αν δεν υπάρχει return statement τότε η συνάρτηση θα επιστρέψει false από προεπιλογή. Το οποίο σημαίνει ότι δε θα τρέξει στον IE και τον Firefox. Είσαι σίγουρος ότι τρέχει σε όλους τους browsers? Αυτό που θέλουμε είναι να εμφανιστεί στη statusbar το κείμενο "Go to the Goodies Home Page" αντί για το κανονικό "http://www.htmlgoodies.com". Μήπως βλέπεις μία cashed σελίδα? Σε μένα συμβαίνει καμιά φορά. Κλείσε τον Firefox και ξανάνοιξέ τον για να δεις αν τρέχει τώρα. Δες και τις Advanced JavaScript Options μήπως έχεις απενεργοποιήσει την επιλογή "Change Status bar text".

Ένας XML-enabled browser επιτρέπει την εμφάνιση ενός XML εγγράφου. Η προεπιλεγμένη εμφάνιση είναι αρκετά εξυπηρετική αλλά τα πράγματα γίνονται πολύ πιο ενδιαφέροντα εάν το έγγραφο περιέχει μία οδηγία <?xml-stylesheet?> που μπορεί με τη χρήση ενός XSL μετασχηματιστή να δώσει στα δεδομένα του εγγράφου κάθε δυνατή μορφή. Τόσο ο IE όσο και ο Mozilla είναι XML-enabled browsers. Δεν είναι παράλογο επομένως να ζητά κανείς το ίδιο από έναν browser που θέλει να ανήκει στους "μεγάλους". Πάντως συμφωνώ ότι στην πράξη αυτή η έλλειψη δεν είναι και τόσο σημαντική. :-?
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Tanaka
Δημοσιεύσεις: 174
Εγγραφή: 27 Απρ 2004 21:40
Τοποθεσία: Κορωπί

Js στην Opera

Δημοσίευση από Tanaka » 16 Φεβ 2005 09:01

skeftomilos έγραψε: Αυτό που θέλουμε είναι να εμφανιστεί στη statusbar το κείμενο "Go to the Goodies Home Page" αντί για το κανονικό "http://www.htmlgoodies.com".
Για να το δοκιμασω έκανα copy&paste αυτό που έγραψες και το έτρεξα. Μετά έκανα αλλαγές και τότε διαπίστωσα ότι τρέχει και στους τρεις όταν δεν υπάρχει κάποιο return statement.
skeftomilos έγραψε: Μήπως βλέπεις μία cashed σελίδα? Σε μένα συμβαίνει καμιά φορά. Κλείσε τον Firefox και ξανάνοιξέ τον για να δεις αν τρέχει τώρα. Δες και τις Advanced JavaScript Options μήπως έχεις απενεργοποιήσει την επιλογή "Change Status bar text".
Επειδή το έχω πάθει πολλές φορές κάτι τέτοιο δημιουργώ δύο αρχεία (test και test1) και παίζω :hammer:
skeftomilos έγραψε: Ένας XML-enabled browser επιτρέπει την εμφάνιση ενός XML εγγράφου. Η προεπιλεγμένη εμφάνιση είναι αρκετά εξυπηρετική αλλά τα πράγματα γίνονται πολύ πιο ενδιαφέροντα εάν το έγγραφο περιέχει μία οδηγία <?xml-stylesheet?> που μπορεί με τη χρήση ενός XSL μετασχηματιστή να δώσει στα δεδομένα του εγγράφου κάθε δυνατή μορφή. Τόσο ο IE όσο και ο Mozilla είναι XML-enabled browsers. Δεν είναι παράλογο επομένως να ζητά κανείς το ίδιο από έναν browser που θέλει να ανήκει στους "μεγάλους". Πάντως συμφωνώ ότι στην πράξη αυτή η έλλειψη δεν είναι και τόσο σημαντική. :-?


Συμφωνώ ότι είναι πολύ εξυπηρετικό να είναι ένας browser XML-Enabled αλλά στον απλό χρήστη δεν μου φαίνεται και τόσο σημαντικό. Ακόμα και όταν σε ένα site θέλουμε να χρησιμοποιήσουμε XML τεχνολογίες καλό είναι να μην αφήνουμε το rendering (πιθανόν με ένα xsl) να γίνεται στον client. Επίσης ο IE είναι πάρα πολύ αργός σε αυτό το θέμα :evil:

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Js στην Opera

Δημοσίευση από skeftomilos » 16 Φεβ 2005 16:57

Συμφωνώ ότι rendering δεν πρέπει να γίνεται στον client, όχι τόσο όμως για το λόγο της βραδύτητας του IE όσο για τη βραδύτητα του downloading. Τα XML αρχεία τείνουν να είναι ιδιαίτερα verbose και επομένως δυσανάλογα ογκώδη σε σχέση με την πληροφορία που μεταφέρουν. Επιπλέον είναι δεδομένο ότι υπάρχουν browsers που δεν καταλαβαίνουν τίποτα από XML (Opera!), κάτι που δε φαίνεται να αλλάζει προσεχώς.

Ωστόσο το XML-rendering δεν είναι η μόνο δυνατότητα που πρέπει να έχει ένας XML-enabled browser. Πρέπει να καταλαβαίνει και από XML-DOM. Δηλαδή πρέπει να δίνει την προγραμματιστική δυνατότητα της άντλησης δεδομένων από ένα XML document. Με έκπληξή μου διαπίστωσα πρόσφατα ότι ο IE δεν είναι ικανός να το κάνει αυτό! Συγκεκριμένα έφτιαξα μία σελίδα με δύο frames. Στο αριστερό φόρτωσα ένα έγγραφο XML και στο δεξί μία σελίδα HTML. Το script στη δεξιά σελίδα προσπαθούσε να διαβάσει το έγγραφο στο αριστερό frame. Ο Firefox δεν είχε κανένα πρόβλημα να το κάνει. Ο Opera στον κόσμο του. Ο IE νόμιζε ότι το έγγραφο είναι HTML! Απίστευτο! Μπορεί να διαβάσει XML islands (Microsoft proprietary τεχνολογία) αλλά όχι τη διπλανή σελίδα!

Ίσως δεν είναι της ώρας αλλά κάποια στιγμή όλοι οι browsers θα γίνουν DOM-3 enabled και η XML τεχνολογία θα γίνει ξανά επίκαιρη στο web. Θα δωθεί η δυνατότητα σε μία σελίδα να επικοινωνήσει με τον server χωρίς να πρέπει να γίνει submit ολόκληρης της σελίδας. Τότε οι Web-applications δεν θα έχουν πια τίποτα να ζηλέψουν από τις Windows-αδελφές τους.
:wink:
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Js στην Opera

Δημοσίευση από Rapid-eraser » 16 Φεβ 2005 19:46

pavtos kai o opera kai o netscape eivai epiikos aparadektoi kai oi dio.

Egw tivo pio poli stov IE sav interface kai logo sivi8ias omos kaka ta psemata o Firefox exei diksei pos apodidei poli pio grigora kapoia pragmata. Taftoxrova o Firefox dimiourgi8ike gia va eivai browser evo o IE ekselix8ike apo window manager se browser.

Gia emeva to idaviko 8a ntav evas firefox me tis avoxes kai idiotropies tou ie :P
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες