我想製作一個包含靜態Google地圖的頁面。在調整頁面大小時,我會動態更改地圖。我有一個功能,下面的代碼這是在頁面大小調整和檢查後定期發射了頁面上的匹配元件的大小:jquery沒有在403上加載錯誤事件時爲img加載新的src
if (imageDownloadEnabled) {
url = 'http://maps.googleapis.com/maps/api/staticmap?center=' + userLat + ',' + userLng + '&zoom=14&size=' + ((theWidth/2)|0) + 'x'+ ((theHeight/2)|0) + '&sensor=false&scale=2';
newImage = $('<img />');
console.log('Retrieving map from ' + url);
newImage.error(function() {
console.log("error loading image");
imageDownloadEnabled = false;
}).load(function(eventObject) {
console.log("done loading image");
console.dir(eventObject);
$('#maps-image').replaceWith(newImage);
newImage.attr('id', 'maps-image');
}).attr('src', url);
/**/
} else {
console.log('disabled');
}
當谷歌地圖API的重載(目前因爲一個錯誤發生我的造成無限循環)我得到一個403錯誤和替代圖像。錯誤事件處理程序不會被調用。
有沒有辦法解決這個問題?我想確保在出現403的情況下,該網頁停止向Google申請新圖片。
剛剛在響應中發現了一個類似的問題http://stackoverflow.com/questions/936357/checking-jquery-ajax-load-success –
不,這不是加載ajax調用,它從外部源加載html 。這是加載事件處理程序,當事件發生時(src屬性發生更改)它會被調用。 http://api.jquery.com/load-event/ –
但我同意你所說的原則。我將eventObject傳遞給函數,但它不包含狀態碼。 –