Я создаю полностью динамический веб-сайт, используя jquery / javascript, ajax и php.
Когда я нажимаю на ссылку навигации, браузер открывает эту страницу с помощью ajax.
Таким образом, в основном все страницы загружаются в пределах одного index.php.
Если я перейду на вкладку «Местоположение», где у меня есть карта google, она будет динамически загружать сценарий Google Maps (добавление тега скрипта в тело).
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&callback=initialize"></script>
Этот скрипт загружается автоматически предыдущим скриптом
<script src="https://maps.gstatic.com/maps-api-v3/api/js/19/1/intl/hr_ALL/main.js"></script>
Когда я покидаю страницу «Местоположение», я проверяю наличие сценариев и их удаление.
Если я вернусь в «Местоположение», не обновляя страницу, я подумал, что карта будет иметь чистый старт, но я получаю эту ошибку в консоли:
Вы включили API Google Maps несколько раз на этой странице. Это может вызвать непредвиденные ошибки.
Несмотря на то, что сценарии были удалены ранее, а карта и содержимое изменились на что-то еще, я получаю эту ошибку.
Поскольку я знаю, что у меня есть только один экземпляр карты, я должен просто проигнорировать это?
Или у него действительно есть какая-то ссылка на старую карту, и удаление двух скриптов просто недостаточно.
Спасибо за любую информацию!
Удаление элементов сценария не приведет к удалению объектов, созданных этими скриптами (в основном это не будет иметь никакого эффекта).
Проверьте, уже загружен ли API-интерфейс maps:
<script> jQuery(function(){ if(!window.google||!window.google.maps){ var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://maps.googleapis.com/maps/api/js?v=3&' + 'callback=initialize'; document.body.appendChild(script); } else{ initialize(); }}); </script>