我有两个.js文件。我想"读"第一个.js文件的函数结束后的第二个文件。我该怎么做?
html文件:
<div class="row connectedSortable" id="sortable1" ng-app="graficosApp" ng-controller="graficosAppCtrl">
<button ng-click="loadElements()">Load Elements</button>
</div>
第一个javascript文件(angularjs):
var app = angular.module('graficosApp', []);
app.controller('graficosAppCtrl', function ($scope, $http) {
$scope.CarregarGraficos = function () {
var myEl = angular.element(document.querySelector('#sortable1'));
myEl.prepend(content);
}
});
然后我有了我的第二个javascript文件,它将为angularjs文件中添加的按钮添加一些功能。我想在第一个文件后加载第二个文件。
谢谢。
答案 0 :(得分:1)
我不确定在这种方法中添加额外的功能是好的,但无论如何这里是你的问题的答案。要在需要时加载一些脚本 - 您可以在第一个文件中完成所有操作后运行此代码。
// ... everything necessary is done before
var scriptEl = document.createElement('script');
scriptEl.setAttribute('src', '/path_to_js_file.js');
document.body.appendChild(scriptEl);
无论如何,我建议您再次考虑您的代码结构和功能,并尽量避免在需要使用此类“黑客”时出现的情况。
答案 1 :(得分:0)
如果你正在使用jQuery,你可以很容易地getScripts
:
$.getScript( "ajax/test.js", function( data, textStatus, jqxhr ) {
console.log( data ); // Data returned
console.log( textStatus ); // Success
console.log( jqxhr.status ); // 200
console.log( "Load was performed." );
});
或者使用ajax:
$.ajax({
url: "http://myscript/path.js",
dataType: "script",
success: function() {
console.log("script loaded");
}
});
答案 2 :(得分:0)
您可以尝试在HEAD标记中加载FIRST文件;所以这将确保它将阻止执行。你可以推迟的第二个文件&#39;它的执行。
<script src='FIRST_FILE'></script>
<script defer src='source/SECOND_FILE'></script>
我不确定你想达到的预期行为;因为你可以简单地加载&#34;功能&#34;执行主要功能后需要执行此操作。