我想創建一個Google地圖上的一個div,它是dinamically生成的,IE無法正確加載地圖,並在加載所有元素時拋出錯誤「第25行的未知錯誤main.js」用IE8創建一個GMaps的未知錯誤
測試文件可以在這裏找到: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一起工作,因爲它們受GoogleMaps API支持。
我在創建簡化樣本時刪除了賦值,所以這不是問題 – AlfonsoML 2011-04-10 07:39:30