programing

각도가 올바르게 로드되었는지 확인하는 방법

lovejava 2023. 10. 1. 19:01

각도가 올바르게 로드되었는지 확인하는 방법

예를 들어 CDN에서 angularjs를 참조하고 싶지만 로컬 js-파일을 가리키는 등 CDN에 대한 호출이 실패할 경우를 대비하여 폴백도 필요합니다.JQuery에 관해서는 자바스크립트에서 이와 같은 작업을 수행하는 예를 본 적이 있습니다.

if(typeof jQuery == 'undefined') {
    ....
}

제가 할 수 있는 angularjs 비슷한 것이 있나요?

if(typeof angular == 'undefined') {
    ....
}

지금 막 콘솔을 열었어요.F12(또는 마우스 오른쪽 단추를 누른 후 선택)Inspect element, 그리고 입력을 했습니다.angular.

메시지를 받으면Object {version: Object, callbacks: Object}, 각도가 로드됩니다.

메시지를 받으면Uncaught ReferenceError: angular is not defined, 각도가 로드되지 않았습니다.

각진 CDN(Content Delivery Network)이 각진 물체를 올바르게 로드했는지(즉, CDN이 다운된 경우),angular자바스크립트 개체는undefined.

그런 다음 다음 를 사용하여 로드된 로컬 복사본으로 폴백해야 합니다.document.write

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script>
<script type="text/javascript">
    if(typeof angular == 'undefined') {
       document.write(unescape("%3Cscript type='text/javascript' src='/Scripts/angular.min.js'%3E%3C/script%3E"));
     }
<script type="text/javascript">
if(window.angular === undefined) {
    ....
}

각도 2 이상의 경우 시도해 봅니다.

window.ng

콘솔로

코드가 로드되었는지 확인하기 전에 이 간단한 코드를 사용합니다.

<body ng-app="">
 {{3  + 3}}
</body>

이 결과가 6이면 각도가 로드된 것이고 그렇지 않으면 로드되지 않습니다.

각도 11의 경우 다음을 사용할 수 있습니다.

if(document.getElementsByTagName('app-root')[0].attributes['ng-version'] === undefined){
...
}

아니면 이렇게 하면 됩니다.

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<script>(typeof angular != 'undefined') || document.write('<script src="js/angular.min.js")<\/script>')</script>

이와 같은 시도를 할 수 있는데, 각 앱 로딩이 완료되면 false가 반환됩니다.

window.getAllAngularTestabilities()[0]._ngZone.hasPendingMacrotasks

언급URL : https://stackoverflow.com/questions/19742191/how-to-check-if-angular-is-loaded-correctly