【问题标题】:How to correctly load dependent JavaScript files如何正确加载依赖的 JavaScript 文件
【发布时间】:2010-05-15 14:53:30
【问题描述】:

我正在尝试扩展显示带有LabeledMarker 的谷歌地图的网站页面。 Google Maps API 定义了一个名为 GMarker 的类,该类由 LabeledMarker 扩展。

问题是,我似乎无法正确加载 LabeledMarker 脚本,即在 Google API 加载之后,我收到“未定义 GMarker”错误。

在这种情况下指定脚本的正确方法是什么?

我首先将 ASP.NET 的 ClientScript.RegisterClientScriptInclude() 用于 google API url,然后立即使用 LabeledMarker 脚本文件。

最初的 google API 加载器会编写更多的脚本链接来加载实际的 GMarker 类。不应该在处理下一个脚本块(LabeledMarker 脚本)之前执行所有这些脚本。

我已经检查了生成的 HTML,并且脚本块以正确的顺序发出。

<script src="google api url" type="text/javascript"></script>
...
(the above scripts uses document.write() etc to append further script blocks/sources)
...
<script src="Scripts/LabeledMarker.js" type="text/javascript"></script>

再一次,LabeledMarker.js 似乎在 google API 完成加载之前被执行。

【问题讨论】:

  • 我做同样的事情,从来没有遇到过这个问题。目前我包含 Google jsapi 脚本 (www.google.com/jsapi?key=...),然后使用它加载地图 api google.load("maps", '2.132');,然后加载我的自定义脚本。

标签: javascript google-maps registerclientscriptblock


【解决方案1】:

我认为这就是问题所在。我在加载脚本后发生的 body.onload 中调用了 google.load()。通过从 onload 处理程序中发出 LabeledMarker 的脚本标记来解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多