您好我有這樣的代碼在我的頁腳,它workes在所有瀏覽器罰款,但IE8在IE8只直接pageloads藉機罰款,如果我輸入域和回車鍵,它就像一個魅力,但如果我刷新,我得到一個「對象expekted」,因爲「google.maps」成爲一個空的對象,例如:JSON.stringify(google.maps)=='[]'腳本僅適用第一次,在IE8刷新後不
任何ide應該是錯的? (如果我刪除緩存,然後轉到頁直接它仍然能正常工作。)
<script type='text/javascript' src='http://www.google.com/jsapi?ver=3.2.1'></script>
<script type="text/javascript">
google.setOnLoadCallback(function(){
jQuery(".all-map").each(function(index) {
var obj = jQuery.parseJSON(jQuery(this).val());
var allMap = new google.maps.Map(document.getElementById(obj.mapId), {
zoom: obj.zoom,
center: new google.maps.LatLng(obj.centerLat, obj.centerLong),
mapTypeId: google.maps.MapTypeId.SATELLITE
}
);
var locations = eval(obj.locations);
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: allMap
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
jQuery('#'+obj.mapId).parent().siblings().eq(i).click();
infowindow.setContent(locations[i][0]);
infowindow.open(allMap, marker);
}
})(marker, i));
}
});
});
</script>
我想說的IE8被打破。是所有版本的IE還是隻有IE8都一樣?您是否嘗試過IE中的不同兼容性設置?什麼是頁面的緩存設置? – 2013-03-08 15:11:25
確實的document.getElementById(obj.mapId)頁面流存在此腳本之前還是之後?只是認爲onload回調可能在對象存在之前觸發。 – 2013-03-08 15:22:40
同樣在所有comp模式中,不知道緩存設置,但它是全新安裝 刷新後「google.maps」爲空的問題 – 2013-03-08 15:24:20