Почему у меня не работает postMessage html5?

Я использую несколько строк 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

Заранее благодарю.

5
задан João Pinto Jerónimo 17 May 2011 в 12:07
поделиться