我正在开发一个使用 DotNetNuke CMS 的网站。我已经使用 API 添加了 Google Maps map ,但我需要在页面加载后调用 initialize() 函数。通常你会这样做:
<body onload="initialize()">
或在
我正在开发一个使用 DotNetNuke CMS 的网站。我已经使用 API 添加了 Google Maps map ,但我需要在页面加载后调用 initialize() 函数。通常你会这样做:
<body onload="initialize()">
或在
标签之前添加以下内容:
<script type="text/javascript">
window.onload = function () {
initialize();
}
</script>
但是我无权访问正文标签或标签的确切结尾。有没有其他方法可以在不执行上述操作的情况下调用此函数?
最佳答案
在窗口加载事件上执行此操作不是一个好主意 - 如果您有一些高延迟图像或其他 Assets 加载,那么您的谷歌地图将加载非常缓慢。在结束 body 标签之前,添加:
<script>
initialize();
</script>
在构建 map 之前,Google 需要准备的只是 DOM,而不是页面上的每个 Assets 。 DOM 始终在结束 body 标记之前加载脚本时完全加载。
编辑
从技术上讲,谷歌地图在构建它的 map 之前需要准备的所有东西就是它要放置的 div。所以你甚至不需要在你的结束 body 标签之前有脚本,你可以有它紧跟在你的 map div 标签之后,如下所示:
<html>
...
<body>
...html...
<div id="map-canvas"></div>
<script>initialize();</script>
...more html
</body>
关于javascript - 没有 ONLOAD 正文标记或结束正文之前的 Google Maps API 初始化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15411309/