Я хочу получить доступ к классу opener в дочернем окне (созданном window.open),
Браузер w3c работает нормально, но не работает в IE 8.
Я также протестировал iframe и он отлично работает во всех браузерах.Цель этого примера - уменьшить загрузку карт Google
родительское окно
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://maps.google.com/maps/api/js?sensor=false&language=cn"></script>
<script>
function openIEWin(){
var TRACK = window.open('child.html?t='+new Date().getTime(),'');
TRACK.focus()
}
</script>
</head>
<body style="background-color:#cfc;" class="abc">
<button onclick="openIEWin()">New Window</button>
<!--iframe page can successfully access and invoke the parent window's class-->
<iframe src="b.html"></iframe>
дочернее окно:
<!DOCTYPE html>
<html>
<head>
</head>
<body onload="init()">
<div id='map' style="width:600px;height:480px;"></div>
<script>
function init(){
var google= window.opener.google;
//cause an error
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center:latlng
};
//cause an error
var map = new google.maps.Map(document.getElementById('map'),myOptions);
}
</script>
сообщение об ошибке настолько типично:
неверный вызов процедуры или аргумент
затем я попробовал IE window.showModelessDialog, но только что встретил ту же ошибку.
так какисправить эту проблему?
кажется, что мы не можем использовать new для создания экземпляра?