javascript - Как общаться между iframe и родительским сайтом?




html ajax (2)

Веб-сайт в iframe не находится в том же домене , но оба являются моими, и я хотел бы общаться между iframe и родительским сайтом. Является ли это возможным?


В разных доменах невозможно вызвать методы или напрямую обратиться к документу контента iframe.

Вы должны использовать обмен сообщениями между документами .

Например, в верхнем окне:

 myIframe.contentWindow.postMessage('hello', '*');

и в iframe:

window.onmessage = function(e){
    if (e.data == 'hello') {
        alert('It works!');
    }
};

Эта библиотека поддерживает HTML5 postMessage и устаревшие браузеры с изменением размера + хэш https://github.com/ternarylabs/porthole

Изменить: теперь в 2014 году использование IE6 / 7 довольно низкое, IE8 и, прежде всего, поддерживают postMessage поэтому я предлагаю просто использовать это.

https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage





iframe