Command Palette

Search for a command to run...

iFrames

Χειρίσου δεδομένα δραστηριότητας που βρίσκονται μέσα σε ενσωματωμένα frames.

Τα scripts presence σε iFrame δεν έχουν υλοποιηθεί ακόμα στο runtime της επέκτασης Nowly. Το presence.on("iFrameData") είναι δεσμευμένο στους τύπους του SDK, αλλά η επέκταση δεν γίνεται inject σε εμφωλευμένα frames ούτε εκπέμπει αυτό το event. Προτίμησε να διαβάζεις την κορυφαία σελίδα (DOM, <audio> / <video>, δημόσια κατάσταση σελίδας) μέχρι να κυκλοφορήσει αυτό.

Πότε έχουν σημασία τα iFrames

Κάποιοι ιστότοποι εμφανίζουν media players ή σημαντική κατάσταση μέσα σε iframes. Ένα κανονικό script presence μπορεί να μην μπορεί να διαβάσει τα πάντα από την κορυφαία σελίδα.

Μέχρι να υπάρξει υποστήριξη iframe, παράλειψε ιστοτόπους που εκθέτουν δραστηριότητα μόνο μέσα σε frame διαφορετικής προέλευσης, ή τεκμηρίωσε τον περιορισμό στην περιγραφή του presence.

Προγραμματισμένο API

Το Presence API δεσμεύει ένα event iFrameData για μελλοντική επικοινωνία σε επίπεδο frame:

presence.on("iFrameData", async (...args) => {
  presence.info("Received iframe data")
})

Μην βασίζεσαι σε αυτό τον listener σε presences παραγωγής αυτή τη στιγμή.

Συνιστώμενη Προσέγγιση

Χρησιμοποίησε τον χειρισμό iframe μόνο όταν η κύρια σελίδα δεν μπορεί να έχει πρόσβαση στην απαραίτητη κατάσταση.

Προτίμησε σταθερούς DOM selectors, στοιχεία πολυμέσων και δημόσια κατάσταση σελίδας πριν προσθέσεις λογική iframe.

Ασφάλεια

Απόφυγε τη συλλογή προσωπικών ή ευαίσθητων δεδομένων από frames. Ένα presence πρέπει να στέλνει μόνο πληροφορίες δραστηριότητας που είναι χρήσιμες για το Discord Rich Presence.