0
這是我正在嘗試工作的示例代碼。儘管iframe從不寫入收到的消息。生成iframe並通過郵件發送問題進行通信
var frame = document.createElement('iframe');
frame.setAttribute('src', 'about:blank');
window.document.body.appendChild(frame);
var frameDoc = frame.contentWindow.document;
frameDoc.body.appendChild(frameDoc.createTextNode('Hi!'));
var code = 'window.addEventListener("message", function(){document.body.innerHTML = "Recieved Message"});';
var loaded = 'window.onload = function(){' + code + '};';
var val = '<scr' + 'ipt type="text/javascript">' + loaded + '</scr' + 'ipt>';
frameDoc.open();
frameDoc.write(val);
frameDoc.close();
setTimeout(function(){
console.log('posting message...');
window.postMessage({
foo: 'bar'
},'*');
}, 1000);
的目標,我想最終達到JSDOM正在測試iframe的溝通,但我甚至不能在瀏覽器這個工作呢。
任何人有任何想法...?
啊!謝謝。這是有道理的。這是一個小提琴。 https://jsfiddle.net/6k7zpb8b/ – rompetoto
更好......我不知道爲什麼我認爲我必須將腳本標記寫入iframe中...... https://jsfiddle.net/6k7zpb8b/1/ – rompetoto