如果不存在则加载角度

时间:2014-07-04 11:14:04

标签: javascript html angularjs

如果不存在,是否可以加载angularjs文件?我正在制作一个基于Angular的小部件,并希望客户能够使用小部件。 如果主页上没有角度而不是加载脚本。

我是Angular的新手,我真的想学习(掌握)这个惊人的框架。

我发现了我想要的jQuery变体。如果某人有一个(更好的)角度版本的片段或网站,他可以推荐我,它会帮助我很多

以下是代码:

    <script type="text/javascript">
    (function() {

    // Localize jQuery variable
    var jQuery;
    /******** Load jQuery if not present *********/
    if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.4.2') {
        var script_tag = document.createElement('script');
        script_tag.setAttribute("type","text/javascript");
        script_tag.setAttribute("src",
            "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
        if (script_tag.readyState) {
          script_tag.onreadystatechange = function () { // For old versions of IE
              if (this.readyState == 'complete' || this.readyState == 'loaded') {
                  scriptLoadHandler();
              }
          };
        } else { // Other browsers
          script_tag.onload = scriptLoadHandler;
        }
        // Try to find the head, otherwise default to the documentElement
        (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
    } else {
        // The jQuery version on the window is the one we want to use
        jQuery = window.jQuery;
        main();
    }
    /******** Called once jQuery has loaded ******/
function scriptLoadHandler() {
    // Restore $ and window.jQuery to their previous values and store the
    // new jQuery in our local jQuery variable
    jQuery = window.jQuery.noConflict(true);
    // Call our main function
    main(); 
}
    /******** Our main function ********/
    function main() { 
        jQuery(document).ready(function($) { 
            // We can use jQuery 1.4.2 here
        });
    }

    })(); // We call our anonymous function immediately
    </script>

提前谢谢

3 个答案:

答案 0 :(得分:1)

if(typeof angular == 'undefined') {
    //angular is not loaded correctly, deal with it here
}

答案 1 :(得分:1)

我建议您使用yepnop.js它可能是这样的:

if(!angular) {
yepnope([{
      load: 'http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js',
      complete: function () {
        if (!angular) {
          yepnope('local/angular.min.js');
        }
      }
    }]);
}

如果没有加载,你也可以将其设置为下载cdn文件,然后尝试使用本地版本。

答案 2 :(得分:0)

也许requireJs是一个选项。

require(["local/angular.min.js"], function () {
    //todo your code here.
});