Окно может получить доступ к дочерним окнам, которые оно открывает, а дочерние окна могут получить доступ к их окну открывания.Если одно из окон переходит на новый URI в другом домене, их содержимое больше не доступно для другого.
например,
Окно открывания HTML:
<title>Opener window</title>
<script type="text/javascript">
var popWin = (function() {
var win;
return {
open: function() {
if (!win || win.closed) {
win = window.open('','child');
win.document.write(
'<title>Child window<\/title>' +
'<script type="text/javascript" src="popWin.js"><\/script>' +
'<h1>popWin<\/h1>'
);
}
win.document.close();
},
close: function() {
win && win.close();
win = null;
}
};
}());
</script>
<button onclick="popWin.open();">Open child</button>
popWin.js:
window.onload = function() {
var button = document.createElement('button');
button.onclick = function() {
try {
alert(window.opener.document.title);
} catch (e) {
alert('Access to opener failed with error:\n\n' + e.message);
}
};
button.appendChild(document.createTextNode('Check opener'));
document.body.appendChild(button);
};
Если вы открываете документ открывания, щелкнитекнопка дочернее окно порождается.Нажатие на кнопку в дочернем окне покажет заголовок открывающего документа.Перейдите в открыватель к новому домену, затем нажмите на кнопку в дочернем окне, и вы получите сообщение об ошибке отказа в доступе, что-то вроде:
Permission denied to access property 'document'