Command Palette

Search for a command to run...

iFrames

Gömülü çerçevelerin (frame) içindeki etkinlik verilerini işleyin.

iFrame presence betikleri isteğe bağlı bir özellik olarak desteklenir. metadata.json içinde iframe değerini true yapın ve iFrameRegExp belirtin.

iFrame presence yapılandırma

İç içe çerçevelerin URL desenini metadata.json içine ekleyin:

{
  "iframe": true,
  "iFrameRegExp": "player\\.example\\.com/embed/"
}

presence.ts dosyasının yanında iframe.ts oluşturun. Eşleşen iç içe çerçevelerde çalışır:

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,
    },
  })
})

Verileri presence.ts içinde alın:

presence.on("iFrameData", (data) => {
  iFrameData = data
})

iFrameData her mesaj için bir kez yayınlanır. Birden fazla çerçeve varsa verileri ana presence içinde tanımlayın veya birleştirin. iFrameRegExp, iç içe çerçevenin URL'siyle eşleştirilir.

Önerilen Yaklaşım

iFrame işlemeyi yalnızca ana sayfa gerekli duruma erişemediğinde kullanın.

iFrame mantığı eklemeden önce kararlı DOM seçicilerini, medya öğelerini ve genel sayfa durumunu tercih edin.

Güvenlik

Çerçevelerden kişisel veya hassas veri toplamaktan kaçının. Bir presence, Discord Rich Presence için yararlı olan etkinlik bilgilerini yalnızca göndermelidir.