2015-01-15 2 views
0

내 JS에서 동적으로 기반한 외부 JS 파일을로드하려고합니다.내 앱에서 JS 파일을 동적으로로드하는 방법은 무엇입니까?

나는 내 경우에로드 할 수 있습니다 어쨌든 내 메인 컨트롤러

angular.module('myApp').controller('myController', function($scope, testService){ 
    //I am not sure how to load those js here. 
}) 

에 그것을

angular.module('myApp').service('testService', function($http) { 
     var prefix; 
     //codes to determine what prefix is. 
     // It could be http://partnerapp.com/test or http://linkapp.com/test/libs/...etc 
     var url = prefix + '/js/test.js'; 
     return $http({ 
       method: 'GET', 
       url: url 
     }); //load JS file 
}); 

을 할 수있는 서비스를 있나요 만들었습니다? 고마워요! 같은

답변

0

뭔가 :

angular.module('myApp').controller('myController', function($scope, testService){ 
    testService.then(function(data){ 
     //you can console.log(data) and after maybe eval it ? 
     eval(data);//eval can be harmfull 
    }, function(error){ 

    }); 
}); 
1

내가 (angular.js에 많은 경험을 가지고 있지만, 평가 제외하지 않는다)의 난 단지 다른 하나의 솔루션을 참조 이미이 작업을 수행하지 않은 경우는 (jQuery를 필요). 나는 jQuery.getScript(url, callback)을 언급하고있다.

이것은 당신이 이런 식으로 뭔가를해야 할 것이다 의미

var url = prefix + '/js/test.js'; 
$.getScript(url); //load JS file and execute script 

콜백은 선택하고 스크립트가로드 및 해석 후 실행합니다.

이것은 내가 사용했던 것으로 보증 할 수 있습니다. 다른 해결책은 src =로 스크립트 태그를 생성하고 페이지의 맨 아래에 추가하는 것입니다. 나는 아직 그것을 테스트하지 않았으므로 나는 100 % 확신 할 수 없다.

+0

414 request-url 콘솔에 너무 큰 오류가 발생합니다. 어쨌든 그것을 고칠 수 있을까요? +1 – FlyingCat

+0

"console.log (url, url.length)"를 수행하고 값이 무엇인지 볼 수 있습니까? 또는 크롬 관리자의 네트워크 탭에서 URL을 확인할 수 있습니까? 서버에 어떤 프로그래밍 언어를 사용했으며 호스트 언어는 무엇입니까? –

관련 문제