У меня есть иерархия iframe с родительским типом уровня на моих HTML-страницах. Я хочу получить объект документа родительского окна в его дочернем документе для некоторых манипуляций. Я отлично работаю с Google Chrome.parent.document не задан в Chrome
parent.document предоставляет «неопределенный» в Google Chrome, а в Mozilla - отлично. В чем подвох?
Для справки, пожалуйста, найти ниже содержание трех файлов, демонстрирующих проблему,
Первый файл: 'one.html'
<html>
<head>
</head>
<body>
<input type="hidden" id="one_1" name="one_1" />
<iframe id="one" name="one" src="two.html">
</body>
</html>
Второй файл: 'two.html'
<html>
<head>
</head>
<body>
<input type="hidden" id="two_1" name="two_1" />
<iframe id="two" name="two" src="three.html">
</body>
</html>
Третий файл: 'three.html'
<html>
<head>
<script type="text/javascript">
function callme() {
alert(parent.document)
alert(top.document)
}
</script>
</head>
<body>
<input type="hidden" id="three_1" name="three_1" />
<button id="click" name="click" onclick="return callme()">Click Me</button>
</body>
</html>
Предполагая, что «one.html» открыт с Google Chrome, когда я нажимаю на кнопку «Click Me», два последовательных окна предупреждения появляется с «Неопределенные» значение. Когда я открываю «one.html» в Mozilla, он дает два «предупреждающих поля» objectHTMLDocument.
Вы найдете ниже консольных сообщений при нажатии на 'Click Me' кнопку,
Unsafe JavaScript attempt to access frame with URL file:///C:/Users/user/Desktop/two.html from frame with URL file:///C:/Users/user/Desktop/three.html. Domains, protocols and ports must match.
three.html:6
callme three.html:6
onclick three.html:13
Unsafe JavaScript attempt to access frame with URL file:///C:/Users/user/Desktop/one.html from frame with URL file:///C:/Users/user/Desktop/three.html. Domains, protocols and ports must match.
three.html:7
callme three.html:7
onclick three.html:13
Спасибо заранее.
Ловушка ['contentDocument'] (https://developer.mozilla.org/en-US/docs/HTML/Element/iframe#Scripting). – bfavaretto
@bfavaretto только что проверил с contentDocument, все еще нет выигрыша :( – dsharma4u29
Не могли бы вы показать свой код? – bfavaretto