How Do I Add jQuery To Head With JavaScript?

后端 未结 3 2074
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-06 22:49

I am trying to include jQuery to an HTML page conditionally. It only needs to be added if it doesn\'t exist yet.

I am using the following code near the top of my bod

相关标签:
3条回答
  • 2020-12-06 22:50

    You are not waiting for the script to load after appending it to document

    Try this code before appending:

       function helper(){
            if (typeof jQuery === 'undefined') {
                alert('jquery still not present :(');
            }
       };
    
       script.onreadystatechange= function () {
          if (this.readyState == 'complete') helper();
       }
       script.onload= helper;
    

    I've found it here if you want to know more

    Also there are loaders like StealJS or YepNope

    0 讨论(0)
  • 2020-12-06 23:07

    Boilerplate uses this method to test if jQuery is loaded by google, if not use local:

      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
      <script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script>
    

    Seems like what you want to achieve :)

    0 讨论(0)
  • 2020-12-06 23:10

    A script loads asynchronously. This means its contents are not directly available after appending the element.

    Use onload instead:

    script = document.createElement('script');
    
    script.onload = function() {
        // jQuery is available now
    };
    
    script.type = 'text/javascript';
    script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js';
    
    head.appendChild(script);
    
    0 讨论(0)
提交回复
热议问题