Я использую несколько строк javascript для создания элемента iframe и тогда я хотел бы отправить ему сообщение, например:
function loadiframe (callback) {
var body = document.getElementsByTagName('body')[0];
var iframe = document.createElement('iframe');
iframe.id = 'iframe';
iframe.seamless = 'seamless';
iframe.src = 'http://localhost:3000/iframe.html';
body.appendChild(iframe);
callback();
}
loadiframe(function() {
cpframe = document.getElementById('iframe').contentWindow;
cpframe.postMessage('please get this message','http://localhost:3000');
console.log('posted');
})
А затем внутри http: // localhost: 3000 / iframe.html (источник iframe) будет что-то вроде этого:
does not work
Но ничего не происходит ... Я даже пытался не использовать проверку безопасности для происхождения, но даже так ничего не происходит ... Как будто сообщение так и не пришло ...
У меня какие-то проблемы с асинхронностью? Я пытался убедиться, что iframe был загружен до того, как сообщение postMessage исчезло ...
EDIT1: Кроме того, на консоли не отображаются ошибки ...
EDIT2: Я пробовал это в Google Chrome 11 и Firefox 4
Заранее благодарю.