如何检查角度是否正确加载

时间:2013-11-02 13:05:23

标签: angularjs

假设我想从CDN引用angularjs,但是如果对CDN的调用失败,我也想要回退,例如指向本地js文件。说到JQuery,我已经看过一些例子,你可以在javascript中做这样的事情:

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

我能做什么类似的角度?

9 个答案:

答案 0 :(得分:33)

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

答案 1 :(得分:13)

我刚刚点击F12打开了控制台(或者右键点击并选择Inspect element,然后输入angular

如果收到消息Object {version: Object, callbacks: Object},则会加载角度。

如果收到消息Uncaught ReferenceError: angular is not defined,则不会加载角度。

答案 2 :(得分:7)

通过测试angular JavaScript对象是否为undefined,您可以检测角度CDN(Content Delivery Network)是否已正确加载角度对象(即如果CDN已关闭,则会发生这种情况)

然后,您应该回退到使用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">

答案 3 :(得分:5)

mDisplay = (TextView)findViewById(R.id.bioDisplay);

    Uri textUri = getIntent().getData();
    File string = new File(textUri.toString());
    mDisplay.setText((CharSequence) string);

答案 4 :(得分:1)

对于角度2和较新的尝试

window.ng

在控制台中

答案 5 :(得分:0)

或者这样做:

<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>

答案 6 :(得分:0)

在开始知道代码是否已加载

之前,我使用了这个简单的代码
<body ng-app="">
 {{3  + 3}}
</body>

如果这导致6,那么这意味着你的角度不会加载。

答案 7 :(得分:0)

对于角度 11,您可以使用:

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

答案 8 :(得分:0)

您可以尝试这样的操作,当 Angular 应用程序完成加载时,这将返回 false。

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