如何正确加载依赖的JavaScript文件
我试图扩展一个显示谷歌地图的网页。GoogleMapsAPI定义了一个名为GMarker的类,该类由LabeledMarker扩展 问题是,我似乎无法正确加载LabeledMarker脚本,也就是说,在加载Google API之后,我出现了“GMarker not defined”错误 在这种情况下,指定脚本的正确方法是什么? 我首先使用ASP.NET的ClientScript.RegisterClientScriptInclude()作为google API url,然后立即使用LabeledMarker脚本文件 最初的GoogleAPI加载程序会编写更多的脚本链接来加载实际的GMarker类。在处理下一个脚本块(LabeledMarker脚本)之前,不应该执行所有这些脚本 我已经检查了生成的HTML,并且脚本块以正确的顺序发出如何正确加载依赖的JavaScript文件,javascript,google-maps,registerclientscriptblock,Javascript,Google Maps,Registerclientscriptblock,我试图扩展一个显示谷歌地图的网页。GoogleMapsAPI定义了一个名为GMarker的类,该类由LabeledMarker扩展 问题是,我似乎无法正确加载LabeledMarker脚本,也就是说,在加载Google API之后,我出现了“GMarker not defined”错误 在这种情况下,指定脚本的正确方法是什么? 我首先使用ASP.NET的ClientScript.RegisterClientScriptInclude()作为google API url,然后立即使用Labeled
<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>
...
(以上脚本使用document.write()等附加更多脚本块/源)
...
再一次,LabeledMarker.js似乎在google API加载完成之前执行。我认为这就是问题所在。我在body.onload中调用了google.load(),这是在加载脚本之后发生的。通过在onload处理程序中为LabeledMarker发出脚本标记来解决此问题。我做了同样的事情,但从未遇到过此问题。目前我包括了GoogleJSAPI脚本(www.Google.com/jsapi?key=…),然后马上使用它加载MapsAPI
Google.load(“maps”,2.132”)代码>然后加载我的自定义脚本。