javascript - 没有 ONLOAD 正文标记或结束正文之前的 Google Maps API 初始化函数

标签 javascript jquery html google-maps-api-3

我正在开发一个使用 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/

相关文章:

html - 背景的不透明度,而不是字体

javascript - JavaScript 中的回文

javascript - React-Native Animation 出现渲染问题

javascript - 在上部 div 上应用 ng-animate 后防止底部 div 偏移

javascript - 如何使用 JQuery 单击 anchor 以便 href 也被调用?

jquery - 设置超时控件

javascript - 未知提供者 : $stateProviderProvider <- $stateProvider

javascript - 动态销毁 View

html - 事件选项卡中文本旁边的边框线未更改

php - 将您的表单字段命名为与 mysql 相同的名称实际上会带来任何安全风险吗?