构建按顺序加载并接受变量的脚本标记

时间:2013-04-18 07:22:53

标签: javascript jquery

在下面的代码中,而不是使用

<script src="" ></script

我正在构建脚本。这将使我能够插入客户端和计算名称 - 即将变量添加到我正在调用的src中。这会导致js错误,因为脚本没有在正确的时间/顺序加载。

这是代码

<script type="text/javascript">


var client = 'test';
var calc = 'loanCalculator';

var insertScript = function(src){
   var element= document.getElementsByTagName('head')[0];
   var script= document.createElement('script');
   script.type= 'text/javascript';
   script.src= src;
   element.appendChild(script);
}

var insertScriptContent = function(code){
  var element= document.getElementsByTagName('body')[0];
  var script= document.createElement('script');
  script.type= 'text/javascript';
  script.innerHTML  = code;
   element.appendChild(script);
}

    insertScript('http://test.com.au/clients/' + client +'/web/'+calc+'/calculator-lib.js');
    insertScript('http://test.com.au/api/configeditor/213?callback=setupConfig');
    insertScript('http://test.com.au/clients/' + client +'/web/javascripts/c-app.js');

        insertScriptContent('var __loancalculator = null; var calculator = null; var loadTool = function(){ __loancalculator = abcd("abcd.loancalculator"); var container = $(".loan-calculator-app"); container.empty(); calculator = new __loancalculator.LoanCalculatorApp(container); calculator.init(); };');
</script>
<script type="text/javascript">

$(document).ready(function(){
    loadTool();
});
</script>

有没有办法加载顶级库,然后文件.ready实际运行时加载?还是有更好的方法来添加这些变量?

感谢

1 个答案:

答案 0 :(得分:0)

脚本只能在页面渲染开始时加载。因此,当您的页面已加载时,无法加载它们。您可以在头部正常定义它们,然后按特定顺序调用它们。