Tach!
Ich sende einen Blob zwischen zwei iframes (via eventListeners). Das funktioniert auch so weit ganz gut. Allerdings verliert das Blob-Object einen key, den ich vorher dem Blob noch hinzugefügt habe. Ist dieses Verhalten irgendwo beschrieben, warum und wie die Eigenschaften gelöscht werden?
Ich vermute, dass deine Beobachtung nicht richtig ist und das Problem an einer anderen Stelle sitzt.
Versuchsaufbau Hauptdokument
<!DOCTYPE html>
<script>
function send() {
const blob = new Blob(['blob']);
blob.foo = 42;
const event = new CustomEvent('customEvent', {detail: blob});
document.querySelector('iframe').contentDocument.dispatchEvent(event);
}
</script>
<button onclick="send()">Send</button>
<iframe src="iframe.html"></iframe>
iframe-Dokument
<!DOCTYPE html>
<script>
document.addEventListener('customEvent', e => {
console.log(e.detail)
}, false);
</script>
In der Console ist bei mir zu sehen, dass das Blob-Objekt seine foo-Property immer noch hat.
dedlfix.