在下面的代码中,而不是使用
<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实际运行时加载?还是有更好的方法来添加这些变量?
感谢
答案 0 :(得分:0)
脚本只能在页面渲染开始时加载。因此,当您的页面已加载时,无法加载它们。您可以在头部正常定义它们,然后按特定顺序调用它们。