Этот код дает вам функцию отсрочки, которая берет URL-адрес и дополнительный обратный вызов. Он асинхронно загружает ваш скрипт без блокировки отображения страницы. Я поставил защиту, поэтому он не будет загружать один и тот же scritp дважды, так что вы можете наивно называть его столько раз, сколько захотите.
defer = (function() {
var urls = [];
return function (url, callback) {
var inc;
if (url && urls.indexOf(url) === -1) {
inc = document.createElement('script');
inc.async = true;
inc.src = url;
inc.onload = callback || function() {};
document.getElementsByTagName('head')[0].appendChild(inc);
}
}
}());
defer('http://maps.google.com/maps/api/js?sensor=false');
Это работает для любого внешнего javascript, который не прерывается при загрузке async.
Раздел «Async», кажется, удален из документации ... Глядя на [эту страницу] (https://google-developers.appspot.com/maps/documentation/javascript/examples/map-simple- async), источник содержит образец асинхронной загрузки библиотеки Google Maps –