Я пытаюсь создать карту Google на элементе div, который генерируется динамически, и IE не может правильно загрузить карту и выдает ошибку при загрузке всех элементов «неизвестная ошибка в строке 25 файла main.js»
Тестовый файл можно найти здесь: http://martinezdelizarrondo.com/bugs/map.html
Это код:
<p>
<img height="370" id="gMapPreview" src="http://maps.google.com/maps/
api/staticmap?
center=37.4419,-122.1419&zoom=11&size=500x370&maptype=roadmap&sensor=false"
width="500" />
</p>
<script type="text/javascript">
function initLoader()
{
// Create a div replacing the existing img preview
var imgMap = document.getElementById("gMapPreview"),
dMap = document.createElement("div");
imgMap.parentNode.replaceChild( dMap, imgMap);
dMap.style.width = "500px";
dMap.style.height = "370px";
new google.maps.Map( dMap, {
zoom: 11,
center: new google.maps.LatLng(37.4419,-122.1419),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
}
if (window.addEventListener) {
window.addEventListener("load", initLoader, false);
} else {
window.attachEvent("onload", initLoader);
}
</script>
Если я поместил div в исходный код вместо создания его с помощью javascript, тоэто работает правильно, но для этого проекта я хочу сделать это таким образом.Я пытался сделать создание div также до завершения загрузки страницы, но это не меняет проблему.
Я не тестировал с IE9, только с IE8, но так как это подразумеваетсядля запуска на публичной стороне веб-сайтов решение должно работать также с IE6 и 7, так как они поддерживаются API GoogleMaps.