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