slevinkelevra Δημοσ. 18 Μαΐου 2014 Δημοσ. 18 Μαΐου 2014 Καλησπερα Σε συνεχεια προηγουμενου post που ρωταγα για url query strings κτλ, επεσα πανω στο history api της html5 και αποφασισα να το τεσταρω. Εχω ενα απλο κώδικα, μερικα κουμπια <button name="hey1" onClick="historytestone();">history test one</button> <button name="hey2" onClick="historytesttwo();">history test two</button> <button name="hey3" onClick="historytestthree();">history test three</button> <button name="hey4" onClick="historytestfour();">history test four</button> <button name="hey5" onClick="historytestfive();">history test five</button> και μετα η javascript function historytestone(){ history.pushState({page: "ross"}, "ross","ross.html"); } function historytesttwo(){ history.pushState({page: "monica"}, "monica","monica.html"); } function historytestthree(){ history.pushState({page: "chandler"}, "chandler","chandler.html"); } function historytestfour(){ history.pushState({page: "joy"}, "joy","joy.html"); } function historytestfive(){ history.pushState({page: "rachel"}, "rachel","rachel.html?a=1&b=2"); } // δεν δουλευει window.addEventListener("popstate", function(event) { alert("hello"); }); //επισης δεν δουλευει window.onpopstate=function(event){ alert("hello"); } Προσπαθώ να "ακούσω" για το popstate event στην ιδια σελιδα, αλλα δεν βλεπω αλερτ ουτε λαθη στη κονσολα του broweser. Οποια κ απο τις 2 συνταξεις κωδικα να βαλω, δεν εχω αποτελεσμα. Γιατι ρε παιδια, τι γινετε? Σορρυ, αλλα δε μπορω να βρω τι φταιει Ευχαριστω
geomagas Δημοσ. 18 Μαΐου 2014 Δημοσ. 18 Μαΐου 2014 Μια χαρά είναι ο κώδικάς σου. Εμένα μου δούλεψε. Μάλλον θα πρέπει να ψαχτείς αλλού.
slevinkelevra Δημοσ. 19 Μαΐου 2014 Μέλος Δημοσ. 19 Μαΐου 2014 @geomagas Το alert απο το popstate event σκαει μονο οταν κανω κλικ στα κουμπια (αλλαξει το url κανονικα) και μετα κλικαρω το back Και front του browser. Το προβλημα μου ειναι το εξης. Ο κωδικας μου ειναι βασισμενος σε αυτο το Site: demo και ουσιαστικα ειναι μια πιο απλοποιημενη μορφη του.Γιατι ο τυπας στο demo ακουει ανετα popstate event (και μεσω αυτου αλλαζει περιεχομενο στα div) και γω δε μπορω ουτε ενα alert να κανω μεσω Popstate? Ευχαριστω και παλι
geomagas Δημοσ. 19 Μαΐου 2014 Δημοσ. 19 Μαΐου 2014 Όχι, με τον ίδιο ακριβώς τρόπο δουλεύει και το demo που βλέπεις. Και εκεί, όπως και στον κώδικά σου, το popstate γίνεται trigger μόνο όταν πατάς τα back/front (δηλαδή όταν περιηγείσαι στο history). Αυτός όμως αλλάζει το περιεχόμενο αφ' ενός στο popstate και αφ' ετέρου στο click των links, ενώ εσύ βγάζεις alert μόνο στο popstate. Hint: Δες από ποια σημεία καλεί την updateContent() και συγχρόνως παρακολούθησε την κονσόλα σου για το πότε βγαίνει το μήνυμα "popstate fired!". 1
alou Δημοσ. 19 Μαΐου 2014 Δημοσ. 19 Μαΐου 2014 Το pushState δεν κάνει trigger the popstate event. Μόνο το history.back() ή το history.go(-x) ή το back button που πάτησες. εντιτ με πρόλαβε... 1
slevinkelevra Δημοσ. 24 Μαΐου 2014 Μέλος Δημοσ. 24 Μαΐου 2014 Α ναι ρε φιλε, καλει το updateContent 2 φορες, μια στο popstate και μια στο clickHandler των links. Εγω νομιζα οτι το να αλλαζει περιεχομενο γινετε αυτοματα απο το popstate, δεν ειχα παρατηρησει το clickHandler. Thanks
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα