代码之家  ›  专栏  ›  技术社区  ›  Vaibhav Garg

如何正确加载相关的javascript文件

  •  1
  • Vaibhav Garg  · 技术社区  · 14 年前

    我正在尝试扩展一个显示谷歌地图的网页 LabeledMarker . google maps api定义了一个名为gmarker的类,该类由labeledmarker扩展。

    问题是,我似乎无法正确地加载LabeledMarker脚本,也就是说,在谷歌API加载之后,我得到了“gmarker not defined”错误。

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

    我正在使用ASP.NET的clientscript.registerclientscriptcinclude()首先用于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完成加载之前执行的。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Vaibhav Garg    14 年前

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

    推荐文章