Rolf B: Passing a Blob

Beitrag lesen

Hallo Michael_K,

wenn das der JavaScript Typ "Blob" ist, kann es sein, dass der von postMessage verwendete structured clone Mechanismus dafür sorgt, dass nur die bekannten Properties eines Blobs übertragen werden.

Falls Du es noch nicht getan hast, probier mal, den Blob zusätzlich auf die Transferliste zu setzen. Entweder als Teil der options in Syntax 1, oder als eigener Parameter in Syntax 2.

Guckst Du hier: https://wiki.selfhtml.org/wiki/JavaScript/Window/postMessage

Wenn Transfer auch nicht hilft, dann dürfte es interne Optimierungen der JS Engine geben, die Zusatzproperties an Blobs ignorieren. Du könntest dann versuchen, ein Wrapper-Objekt zu erzeugen. Aus Performancegründen ist ein Transfer sehr zu empfehlen, es sei denn, du brauchst den Blob auf der Senderseite nachher noch. Ob die const Deklaration einem Transfer im Wege steht, weiß ich nicht, das musst Du ausprobieren.

const msg = { name: 'Fridolin', wert: aBlob };
iframe.postMessage(msg);

Rolf

--
sumpsi - posui - obstruxi