我正在尝试在我的项目的angularjs中实现一个lazyload工厂,它将在窗口加载后加载第三方js。但是每次都不会调用window onload事件。请说明原因。
以下是代码段:
app.factory('lazyLoading', ['$window', '$q', '$rootScope', function($window, $q, $rootScope) { var appendScriptTag = function(url){ //will create a script tag and add to DOM. }; var loadScript = function(url){ if($window.attachEvent) { $window.attachEvent('onload', appendScriptTag); } else { $window.addEventListener('load', appendScriptTag, false); } }; return {loadScript:loadScript}; }]);
现在,如果我不从控制器调用“loadScript”函数并直接调用“appendScriptTag”,那么脚本每次都会加载,但它会在窗口加载之前加载,我想延迟。