я загружаю Google Maps API динамически с помощью этой функции:Android браузер не загружает API Карт Google на перезагрузки страницы
App.prototype.loadScript = function(src) {
$(document.createElement("script")).attr({
type: "text/javascript",
src: src
}).appendTo("body");
};
я прохожу этот URL в качестве аргумента:
"//maps.googleapis.com/maps/api/js?v=3.8&sensor=false&language=" + locale + "&callback=window.app.googleMapsCallback"
It отлично работает при первом загрузке страницы, и срабатывает обратный вызов. Однако, когда я перезагружаю страницу на Android, window.app.googleMapsCallback делает не огонь. Он отлично работает в Chrome и в браузере iOS.
Это похоже на то, что сценарий кэшируется и снова не перезагружается. Я попытался добавить параметр временной метки в URL-адрес, но это не помогло.
Как я могу убедиться, что обратный вызов всегда срабатывает?
UPDATE:
После дальнейшего тестирования, очистка кэша и перезагрузка не работает. Мне нужно очистить все данные браузера (через Настройки -> Приложения -> Управление приложениями), чтобы перезагрузить страницу.
Использование функции верхнего уровня в качестве обратного вызова не имеет значения.
Ошибок JavaScript при перезагрузке.
Следует отметить, что я использую HTC Evo 4G с Android 2.3.4, и мое приложение построено с помощью jQuery Mobile.
Мне любопытно, можете ли вы попробовать более простую функцию обратного вызова, например функцию верхнего уровня, которая запускает окно предупреждения? – bamnet