Я использую Google Maps API для отображения карты на определенной странице.
Проблема в том, что файл http://maps.google.com/maps?file=api..... иногда загружается очень медленно - снижается производительность страницы, потому что остальная часть JavaScript сначала загружается в готовый документ, которого он редко достигает, - потому что браузер блокирует ожидание файла от Google.
http://maps.google.com/maps?file=api.....
Я попытался переместить файл JavaScript из тега <head> в мое содержимое. Но остальная часть JavaScript никогда не запускается, потому что браузер ожидает файл от Google.
<head>
Есть ли способ обойти это, или кто-то еще испытывал такую же проблему? Это началось недавно, и я понятия не имею, почему.
Это мой код, если кому-то интересно:
<script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&sensor=true&key=ABQIAAAAa24xicak8_ghHX58i7La7hRFh9iM79SNC94rOejOtdMRvQmJiBS6Uv5F_1BNSh9ZuSzFXyekHISgew"> </script> <script type="text/javascript" src="/js/maps.js"></script> <script type="text/javascript"> $(document).ready(function() { // Google Maps initialize(); // Other JavaScript comes here.... }); </script>
Если я получу доступ
http://maps.google.com/maps?file=api&v=2&sensor=true&key=ABQIAAAAa24xicak8_ghHX58i7La7hRFh9iM79SNC94rOejOtdMRvQmJiBS6Uv5F_1BNSh9ZuSzFXyekHISgew
Файл загружается мгновенно.
Это довольно старый вопрос сейчас - решение было отключить firebug (по крайней мере для меня).
Используйте API Ajax от Google. С некоторых пор все сервисы Google доступны через JavaScript API. Это модульная система, вам нужно только включить библиотеку JSAPI, и тогда вы сможете динамически загружать нужные вам модули - она не заблокирует ваш сайт.
<script type="text/javascript" src="http://www.google.com/jsapi?key=ABCDEFG"></script> <script type="text/javascript"> google.load("maps", "2"); google.setOnLoadCallback(function() { // Your logic goes here. // It will be run right after the maps module was loaded. }); </script>
Подробнее см. Документация разработчика JSAPI .
При оптимизации JavaScript: всегда ставьте свой JS внизу даже вашего сценария Maps API. Я не могу придумать вескую причину, чтобы иметь в голове JS.