0

我想动态加载正在发生的js,但是索引中包含的另外一个js文件在加载之前(我正在动态加载的文件)有办法修复订单

我正在动态添加 global.js,我希望在加载 dynamicjs.DynamicJs 之前初始化 global.js 中声明的变量

------------- 索引.html -------------

<!DOCTYPE HTML>
<html>
       <head>
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <script src="resources/sap-ui-core.js"
                      id="sap-ui-bootstrap"
                      data-sap-ui-libs="sap.ui.commons"
                      data-sap-ui-theme="sap_goldreflection" >
              </script>
              <!-- add sap.ui.table,sap.ui.ux3 and/or other libraries to 'data-sap-ui-libs' if required -->
              <script src="js/dyn.js"></script>
              <script></script>
              <script>
                     sap.ui.localResources("dynamicjs");
                     var view = sap.ui.view({id:"idDynamicJs1", viewName:"dynamicjs.DynamicJs", type:sap.ui.core.mvc.ViewType.JS});
                     view.placeAt("content");
              </script>
       </head>
       <body class="sapUiBody" role="application">
              <div id="content"></div>
       </body>
</html>

function loadScript(url){
    var xhrObj = createXMLHTTPObject();
    // open and send a synchronous request
    xhrObj.open('GET', url, false);
    xhrObj.send('');

    var e = document.getElementsByTagName("script")[1];
    var d = document.createElement('script');
    d.src = url;
    d.type = 'text/javascript';
    d.async = false;
    d.defer = false;
    e.parentNode.insertBefore(d,e);
}


function addScriptDynamically(){
    loadScript('js/global.js'+'?scheme=12345');
}

function createXMLHTTPObject(){
    var xmlhttp=new XMLHttpRequest();
    if( typeof xmlhttp == 'undefined' || xmlhttp == null )
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    return xmlhttp;
}

/*call function */
addScriptDynamically();
4

1 回答 1

0

为什么不尝试使用 jQuery.getScript() 加载脚本

http://api.jquery.com/jQuery.getScript/

如果您想与原型或 mootools 等其他库兼容,您可以设置jQuery.noConflict()

于 2013-06-12T15:04:12.283 回答