Το PostMessage είναι ένα νέο API επικοινωνίας μεταξύ προελεύσεων που εισήχθη στο html5 και σας επιτρέπει να επικοινωνείτε αμφίδρομα με την κύρια σελίδα και οποιαδήποτε σελίδα κλάσης πλαισίου ή μια σελίδα που ανοίγει από το window.open. Η γενική διαδικασία λειτουργίας του είναι η εξής:
Η μέθοδος postMessage(data,origin) δέχεται δύο παραμέτρους:
(1) δεδομένα: Τα δεδομένα που πρέπει να μεταβιβαστούν, η προδιαγραφή HTML5 αναφέρει ότι η παράμετρος μπορεί να είναι οποιοσδήποτε βασικός τύπος JavaScript ή ένα αναπαραγώγιμο αντικείμενο, αλλά δεν το έχουν κάνει όλα τα προγράμματα περιήγησης, ορισμένα προγράμματα περιήγησης μπορούν να χειριστούν μόνο παραμέτρους συμβολοσειράς, επομένως πρέπει να χρησιμοποιήσουμε τη μέθοδο JSON.stringify() για να σειριοποιήσουμε τις παραμέτρους του αντικειμένου κατά τη μεταβίβαση των παραμέτρων και να αναφερθούμε σε json2.js στην κάτω έκδοση του IE για να επιτύχουμε παρόμοια αποτελέσματα.
(2) προέλευση: Παράμετρος συμβολοσειράς, υποδείξτε την πηγή του παραθύρου προορισμού, πρωτόκολλο + κεντρικός υπολογιστής + αριθμός θύρας [+URL], η διεύθυνση URL θα αγνοηθεί, επομένως δεν μπορεί να γραφτεί, αυτή η παράμετρος είναι για λόγους ασφαλείας, η μέθοδος postMessage() θα περάσει το μήνυμα μόνο στο καθορισμένο παράθυρο, φυσικά, αν θέλετε, μπορείτε επίσης να ορίσετε την παράμετρο σε "*", έτσι ώστε να μπορεί να μεταβιβαστεί σε οποιοδήποτε παράθυρο, εάν θέλετε να καθορίσετε την ίδια προέλευση με το τρέχον παράθυρο, έχει οριστεί σε "/".
Στείλτε μηνύματα και λάβετε μηνύματα μόνοι σας
Ο κωδικός έχει ως εξής:
Το γονικό παράθυρο στέλνει ένα μήνυμα στο θυγατρικό παράθυρο και το θυγατρικό παράθυρο λαμβάνει το μήνυμα
Ο κωδικός έχει ως εξής:
Το θυγατρικό παράθυρο στέλνει ένα μήνυμα στο γονικό παράθυρο και το γονικό παράθυρο λαμβάνει το μήνυμα
Ο κωδικός έχει ως εξής:
Επιπλέον, μια απλή λειτουργία ακροατή/πελάτη είναι προσαρτημένη στον πελάτη για ανταλλαγή μηνυμάτων μεταξύ τομέων στην ακόλουθη διεύθυνση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
(Τέλος)
|