如何正确加载依赖的JavaScript文件

时间:2010-05-15 14:53:31

标签: javascript google-maps registerclientscriptblock

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

问题是,我似乎无法正确加载LabeledMarker脚本,即加载Google API后我得到'GMarker not defined'错误。

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

我首先使用ASP.NET的ClientScript.RegisterClientScriptInclude()用于google API网址,然后立即使用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似乎在谷歌API完成加载之前执行。

1 个答案:

答案 0 :(得分:0)

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

相关问题