θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

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

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

Απάντηση
sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από sibas » 18 Φεβ 2017 10:07

Γεία χαρά

Μήπως έχει κανείς κάποια ιδέα για το τρόπο που χρησιμοποιεί το fb και δεν αλλάζει το κομμάτι που έχει τους φίλους για chat όταν πάς σε άλλη σελίδα μέσα στο fb?

παράδειγμα, ανοίγεις ένα chat και πατάς κάποιο lnik που σε πάει σε άλλη σελίδα μέσα στο fb, το chat και όλο το div με τους φίλους δεν ανανεώνεται!

Υπάρχει κάποια ιδέα με το πως γίνεται αυτό???

Άβαταρ μέλους
webdevgr
Δημοσιεύσεις: 698
Εγγραφή: 11 Δεκ 2010 17:25
Τοποθεσία: Ηράκλειο
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από webdevgr » 18 Φεβ 2017 16:49

Ο σύγχρονος τρόπος είναι JavaScript/Ajax ο παλαιολιθικός τρόπος είναι με iframes :)

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από sibas » 19 Φεβ 2017 09:51

Ναι είμαι σχεδόν σίγουρος ότι με javascript γίνεται η εργασία αλλά με ποιο τρόπο???

Από ότι έχω διαβάσει το pushState είναι το κλειδί αλλά δεν έχω καμιά ιδέα για το πως!

Άβαταρ μέλους
webdevgr
Δημοσιεύσεις: 698
Εγγραφή: 11 Δεκ 2010 17:25
Τοποθεσία: Ηράκλειο
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από webdevgr » 19 Φεβ 2017 10:01

Το pushState έχει να κάνει με το history του browser και προφανώς με το URL που θα εμφανίζει.

Για να τραβήξεις δεδομένα και να τα εμφανίσεις σε κάποιο σημείο της σελίδας χωρίς να αλλάξεις σελίδα, χρειάζεσαι Ajax.

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από sibas » 19 Φεβ 2017 11:49

σίγουρα ναι! όταν στο fb ανοιγεις το chat κάποιο ajax/query ανοιγεί το chat, τώρα αυτό που δεν καταλαβαίνω είναι οταν πας σε άλλη σελίδα το chat δεν ξαναφορτώνει (ή τουλάχιστον έτσι μου μοιάζει)

πιστεύω ότι όταν κάνεις κλικ σε κάποιο εσωτερικό λινκ με το pushState λεει φόρτωσε όλα εκτος αυτό..

φυσικά μάλλον το καταλαβαίνω λάθος :hammer:

και για αυτό ρωτάω μπας και μαθω κάτι :D

Άβαταρ μέλους
webdevgr
Δημοσιεύσεις: 698
Εγγραφή: 11 Δεκ 2010 17:25
Τοποθεσία: Ηράκλειο
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από webdevgr » 19 Φεβ 2017 12:02

Μην ανακατεύεις το pushState με τα δεδομένα. Τα δεδομένα θα φορτωθούν με ajax στο div/section που θα του ορίσεις, οπότε θα ανανεωθεί μόνο αυτό το κομμάτι κι όχι ολόκληρη η σελίδα.

Με το pushState απλά θα αλλάξεις το url και προσθέσεις ένα βήμα στο history του browser για τα back/forward

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από sibas » 19 Φεβ 2017 12:41

Η εγώ δεν καταλαβαίνω αυτό που λες ή εσύ δεν έχεις καταλάβει την ερώτηση μου :D

Έτσι λοιπόν να την αναδιατυπώσω με άλλο τρόπο

1) Σελίδα Α με κάποιο κλικ και με ajax φορτώνουμε στο div Χ τα data

2) click σε κάποιο εσωτερικό link και πάμε στην σελίδα Β.
(Αυτό που βλέπω στο fb είναι οτι φορτώνει όλα τα data ΕΚΤΟΣ του div X)

και η ερώτηση είναι με ποιο τρόπο το κάνει?
δηλαδή πως θα έχουμε τα data στο div Χ που τα φορτώσαμε απο την σελίδα Α χωρίς να ξανακαλέσουμε ajax/query στην σελίδα Β.

Sorry για την επιμονή μου :oops:

Άβαταρ μέλους
webdevgr
Δημοσιεύσεις: 698
Εγγραφή: 11 Δεκ 2010 17:25
Τοποθεσία: Ηράκλειο
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από webdevgr » 19 Φεβ 2017 13:18

Μα δεν αλλάζεις σελίδα, η σελίδα είναι μία!

Στο FB το sidebar μένει πάντα σταθερό για να σου εμφανίζει το chat και σου αλλάζει το περιεχόμενο στο υπόλοιπο κομμάτι.

Με κάθε κλικ που κάνεις αλλάζει το περιεχόμενο πλην του sidebar, αλλά δεν αλλάζεις σελίδα.

Απλά σου αλλάζει το url στη μπάρα του browser για να μπορείς να πηγαίνεις μπρος πίσω.

Ψάξε για single page JavaScript app πχ http://tutorialzine.com/2015/02/single- ... framework/

Αν δεις στο demo του αλλάζουν τα πάντα εκτός από το δεξί κομμάτι με τα φίλτρα

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από sibas » 19 Φεβ 2017 13:51

φυσικά και αλλάζεις σελίδα στο fb και αυτό μπορείς να το δείς από τα headers
στο tutorial που μου έδειξες δεν αλλάζεις σελίδα είναι μόνο για το location.hash

Άβαταρ μέλους
webdevgr
Δημοσιεύσεις: 698
Εγγραφή: 11 Δεκ 2010 17:25
Τοποθεσία: Ηράκλειο
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από webdevgr » 19 Φεβ 2017 13:58

Το ότι αλλάζει το head της σελίδας δε σημαίνει ότι αλλάζει σελίδα.

Κάνε ένα πείραμα. Άνοιξε το FB με το Chrome κάνε δεξί κλικ -> inspect και έχοντας ανοιχτό το παράθυρο του source άλλαξε σελίδα. Θα δεις ότι αλλάζουν μόνο κάποια κομμάτια στο head (πχ title) και κάποια στο body

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από sibas » 19 Φεβ 2017 14:25

δεν καταλαβαίνω τι προσπαθείς να μου πεις.. και δεν είπα για το head αλλά για τα headers

στο fb όταν κάνεις κλικ σε εσωτερικό λινκ (δηλαδή το να πάς σε κάποιον άλλο χρήστη) έχεις και ένα νέο GET και αυτό είναι μια νέα σελίδα, το τι θα παρουσιάσεις ή τι θα αλλάξεις σε αυτό δεν έχει σημασία


sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από sibas » 19 Φεβ 2017 14:35

ΟΚ σε ευχαριστώ :)

Έχει κάποιος άλλος να προτείνει κάτι ή κάποια άλλη ιδέα?

Άβαταρ μέλους
webdevgr
Δημοσιεύσεις: 698
Εγγραφή: 11 Δεκ 2010 17:25
Τοποθεσία: Ηράκλειο
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από webdevgr » 19 Φεβ 2017 15:20

Όταν διαβάζεις και γράφεις από κινητό κι έχεις άλλα στο μυαλό σου λογικό είναι να κάνεις λάθη :)

Ναι προφανώς αναφέρθηκες σε headers κι όχι head δικό μου λάθος

Αλλά και πάλι όταν καλείς ένα ή πολλά αρχεία μέσω ajax χωρίς να αλλάξεις σελίδα, προφανώς έχεις ένα ή και περισσότερα get και το καθένα αρχείο να έχει τους δικούς του headers.

Αυτό δεν σημαίνει ότι αλλάζεις σελίδα. Απλά αλλάζουν κομμάτια της σελίδας και κάποια μένουν σταθερά. Αυτή είναι η λογική των single pages apps και της μόδας των JavaScript frameworks όπου στην περίπτωση του FB είναι το React

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

θέλω να μάθω με ποιο τρόπο γίνεται να μένουν στατικά div όταν πας σε άλλη σελίδα

Δημοσίευση από korgr » 07 Μαρ 2017 21:57

Κάνεις κλικ και ανοιγεις chat με user
Αποθηκευεις με cookie το οτι εχεις ανοιξει X Chats με τους X Users
Αλλάζεις σελίδα
Στη νέα σελίδα διαβαζεις το cookie και με ajax ανοίγει ξανά τα αντίστοιχα Chats

Απάντηση

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

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

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