Вот код в IFRAME с src="example.com"
PostMessage не получил от IFRAME
<script>
var domain = "http://example2.com";
function redirectRequest(){
console.log("window.opener",window.opener); // NULL
console.log("window.top",window.top); // script_name
console.log("window.parent",window.parent); // script_name
opener.postMessage("redirect", domain); //fails because null
//top and parent also do not work BUT do not display errors
}
</script>
и вот код работает в example2.com
, который содержит приемник PostMessage (а также содержит IFRAME):
function message_listener(event) { //nothing is ever received...
console.log("event received",event);
var data = event.data;
console.log("data received",data);
}
if (window.addEventListener) {
window.addEventListener("message", message_listener);
} else {
// IE8
window.attachEvent("onmessage", message_listener);
}
Любая идея, что может быть отключено? Большое спасибо ...
Может быть, вы должны смотреть на это: http://stackoverflow.com/questions/935127/how-to-access-parent-iframe-from -javascript – laruiss
@laruiss это междоменная область. Будет ли это работать? – Fane
замените нож на родительский. – antoniOS