Javascript 提供嵌入脚本的最佳方法?

Javascript 提供嵌入脚本的最佳方法?,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我提供了可嵌入的内容,我用脚本标签分发这些内容。当用户在页面的HTML中包含脚本标记时,它会在执行点将相关内容注入DOM。它们可能在同一页面中包含多个嵌入脚本 嵌入脚本有许多依赖项(jQuery、googlejsapi、googlefusion表)。如果以前的嵌入脚本实例或编写页面其余部分的人尚未加载这些脚本,我希望能够加载它们 主要有趣的方面有: 我的嵌入脚本可能在一个人的页面中存在多次 我有外部依赖关系 我希望能够使用脚本绑定到事件(google.maps.event.adddomstene

我提供了可嵌入的内容,我用脚本标签分发这些内容。当用户在页面的HTML中包含脚本标记时,它会在执行点将相关内容注入DOM。它们可能在同一页面中包含多个嵌入脚本

嵌入脚本有许多依赖项(jQuery、googlejsapi、googlefusion表)。如果以前的嵌入脚本实例或编写页面其余部分的人尚未加载这些脚本,我希望能够加载它们

主要有趣的方面有:

  • 我的嵌入脚本可能在一个人的页面中存在多次
  • 我有外部依赖关系
  • 我希望能够使用脚本绑定到事件(
    google.maps.event.adddomstener
    ),因此我需要等待这些脚本加载完毕
  • 我想避免弄乱嵌入程序的页面

  • 有没有一个通用的模式来实现这一点?

    因为我使用的是Google JS Loader,并且依赖项与之兼容,所以我正在使用它

    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
    
    function things_loaded() {
        if(window.THING_MAPS) {
            for (var mapI = 0; mapI < window.THING_MAPS.length; mapI++) {
                window.THING_MAPS[mapI]();
            }
            window.THING_MAPS = [];
        }
    }
    
    if (!window.THING_MAPS_LOADED) {
        google.load("jquery", "1.7.0");
        google.load("maps", "3", {other_params:'sensor=false', callback: things_loaded});
        window.THING_MAPS_LOADED = true;
    }
    
    </script>
    
    
    函数加载的对象(){
    if(窗口、对象和地图){
    对于(var mapI=0;mapI
    您的脚本通过注入指向这些外部事物的标记来嵌入外部依赖项。这变得很难看。。。我不得不调试通过菊花链8+levels deep.Yep嵌入多个脚本的ad服务器代码。我也是。因此转向StackOverflow寻求帮助!