假设我想从CDN引用angularjs,但是如果对CDN的调用失败,我也想要回退,例如指向本地js文件。说到JQuery,我已经看过一些例子,你可以在javascript中做这样的事情:
if(typeof jQuery == 'undefined') {
....
}
我能做什么类似的角度?
答案 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