У меня есть страница с междоменным iframe. На странице, загруженной в iframe, есть кнопка печати, которая запускает некоторый javascript для печати iframe с именем printFrame, который находится на странице (на вложенной странице, а не на родительской странице). Когда я нажимаю на кнопку, в FF это работает, но IE выдает мне ошибку: frames.printFrame имеет значение null или не является объектом. Я не совсем понимаю. Код не пытается получить доступ к родительскому документу, почему он не работает?
Код вылетает в строке 9 файла iframedoc.html, когда я пытаюсь получить доступ к printframe
Родительский документ HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<iframe src="http://www.otherdomain.com/iframeDoc.html"/>
</body>
</html>
iframedoc.html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
function printContent(){
frames['printFrame'].focus();
var printFrameDiv = frames['printFrame'].document.getElementById("printDiv");
printFrameDiv.innerHTML = document.getElementById('printableContent').innerHTML;
frames['printFrame'].print();
window.focus();
}
</script>
</head>
<body>
<iframe id="printFrame" name="printFrame" src="/printFrame.html"></iframe>
<div id="mainContent">
<div id="printableContent">
My printable content is here
</div>
<div id="nonPrintableContent">
Content that I dont want to print is here
</div>
<a href="javascript:void(0)" onclick="printContent()">Print</a>
</body>
</html>