【发布时间】:2015-01-28 17:40:19
【问题描述】:
我正在使用 jquery/javascript、ajax 和 php 构建一个完全动态的网站。
当我单击导航链接时,浏览器会使用 ajax 打开该页面。
所以基本上所有页面都加载在同一个 index.php 中。
如果我转到“位置”选项卡,那里有一个谷歌地图,它会动态加载谷歌地图脚本(向正文添加一个脚本标签)。
<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>
当我离开“位置”页面时,我会检查脚本是否存在并将其删除。
如果我在不刷新页面的情况下返回“位置”,我认为地图会有一个干净的开始,但我在控制台中收到此错误:
您已在此页面上多次包含 Google Maps API。 这可能会导致意外错误。
即使之前删除了脚本,并且地图和内容更改为其他内容,我还是会收到该错误。
既然我知道我只有一次地图实例,我应该忽略它吗?
或者它确实有某种对旧地图的引用,删除这两个脚本是不够的。
感谢您提供任何信息!
【问题讨论】:
-
为什么不在第一页加载期间一劳永逸地链接 gmaps 库?这比每次需要时都重新加载要好,我想它可以解决您的问题。
-
您的意思是我将 gmaps 脚本添加到 index.php 并在某个页面上使用 initialize() ?编辑:这种方法可以增加加载时间吗?
标签: javascript php jquery ajax google-maps-api-3