У меня есть страница index.html , в которой есть кнопка (id="my-btn"
):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My INDEX PAGE</title>
</head>
<body>
<br><input type="button" id="my-btn" value="OPEN NEW WINDOW"/>
<script src="js/my.js"></script>
</body>
</html>
Включенная страница индекса my.js , которая используется для обработки события нажатия кнопки, при нажатии кнопки открывается новое окно браузера (дочернее окно) с новой страницей ( new .html )
JS / my.js:
$('#my-btn').click(function(){
var childWin = window.open('new.html', '');
childWin.parentElements=[1,2,3];
});
, как вы заметили выше, я передал массив [1,2,3]
в новое открытое дочернее окно.
Новая страница ( new.html ), открытая в новом окне браузера (дочернее окно):
new.html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TEST</title>
</head>
<body>
<div id="my-arr"></div>
<script src="js/jquery-1.5.1.js"></script>
<script src="js/new.js"></script>
</body>
</html>
На новой странице включено new.js , которое добавит текст массива, переданный из родительского окна, в качестве содержимого этой страницы в дочернем окне.
JS / new.js:
$(document).ready(function(){
var arr= window.parentElements;
for(var i=0; i<arr.length; i++){
var el = arr[i];
$('#my-arr').append("<strong>"+el+"</strong>");
}
});
Все работает в Firefox (я получил массив на новой странице дочернего окна).
НО , когда я тестирую его в IE 7 , он не работает, на новой всплывающей странице IE показывает ошибку => "Длина" равна нулю или не объект , который жалуется на "elements.length
" в new.js . Кажется, IE не поддерживает передачу данных таким образом childWin.parentElements=[1,2,3]
Как заставить этот код работать в IE?