iFrames
Χειρίσου δεδομένα δραστηριότητας που βρίσκονται μέσα σε ενσωματωμένα frames.
Τα scripts presence σε iFrame υποστηρίζονται προαιρετικά. Ορίστε το iframe σε true και δώστε iFrameRegExp στο metadata.json.
Ρύθμιση presence iFrame
Προσθέστε το μοτίβο URL των εμφωλευμένων frames στο metadata.json:
{
"iframe": true,
"iFrameRegExp": "player\\.example\\.com/embed/"
}Δημιουργήστε αρχείο iframe.ts δίπλα στο presence.ts. Εκτελείται στα εμφωλευμένα frames που ταιριάζουν:
const iframe = new iFrame()
iframe.on("UpdateData", () => {
const video = document.querySelector("video")
if (!video) return
iframe.send({
video: {
paused: video.paused,
currentTime: video.currentTime,
duration: video.duration,
title: document.querySelector(".video-title")?.textContent,
},
})
})Λάβετε τα δεδομένα στο presence.ts:
presence.on("iFrameData", (data) => {
iFrameData = data
})Το iFrameData εκπέμπεται μία φορά ανά μήνυμα. Για πολλά frames, αναγνωρίστε ή συγχωνεύστε τα δεδομένα στο κύριο presence. Το iFrameRegExp συγκρίνεται με το URL του εμφωλευμένου frame.
Συνιστώμενη Προσέγγιση
Χρησιμοποίησε τον χειρισμό iframe μόνο όταν η κύρια σελίδα δεν μπορεί να έχει πρόσβαση στην απαραίτητη κατάσταση.
Προτίμησε σταθερούς DOM selectors, στοιχεία πολυμέσων και δημόσια κατάσταση σελίδας πριν προσθέσεις λογική iframe.
Ασφάλεια
Απόφυγε τη συλλογή προσωπικών ή ευαίσθητων δεδομένων από frames. Ένα presence πρέπει να στέλνει μόνο πληροφορίες δραστηριότητας που είναι χρήσιμες για το Discord Rich Presence.