Skip to content

Instantly share code, notes, and snippets.

@Modules4U
Last active February 6, 2021 13:53
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Modules4U/01de3d24b487583041e9ed7eb422e366 to your computer and use it in GitHub Desktop.
Save Modules4U/01de3d24b487583041e9ed7eb422e366 to your computer and use it in GitHub Desktop.
jQuery and jQuery UI loader // forked from https://gist.github.com/carolineschnapp/5397337
/* Sample JavaScript file added with ScriptTag resource.
This sample file is meant to teach best practices.
Your app will load jQuery if it's not defined.
Your app will load jQuery if jQuery is defined but is too old, e.g. < 1.7.
Your app does not change the definition of $ or jQuery outside the app.
Example: if a Shopify theme uses jQuery 1.4.2, both of these statements run in the console will still return '1.4.2'
once the app is installed, even if the app uses jQuery 1.9.1:
jQuery.fn.jquery => "1.4.2"
$.fn.jquery -> "1.4.2"
*/
/* forked from https://gist.github.com/carolineschnapp/5397337 with jQuery UI autolaod support. */
/* Using a self-executing anonymous function - (function(){})(); - so that all variables and functions defined within
aren’t available to the outside world. */
(function(){
/* Load Script function we may need to load jQuery from the Google's CDN */
/* That code is world-reknown. */
/* One source: http://snipplr.com/view/18756/loadscript/ */
var loadScript = function(url, callback){
var script = document.createElement("script");
script.type = "text/javascript";
// If the browser is Internet Explorer.
if (script.readyState){
script.onreadystatechange = function(){
if (script.readyState == "loaded" || script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
// For any other browser.
} else {
script.onload = function(){
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
};
/* This is my app's JavaScript */
var myAppJavaScript = function($){
// $ in this scope references the jQuery object we'll use.
// Don't use jQuery, or jQuery191, use the dollar sign.
// Do this and do that, using $.
$('body').append('<p>Your app is using jQuery version '+$.fn.jquery+'</p>');
};
/* If jQuery has not yet been loaded or if it has but it's too old for our needs,
we will load jQuery from the Google CDN, and when it's fully loaded, we will run
our app's JavaScript. Set your own limits here, the sample's code below uses 1.7
as the minimum version we are ready to use, and if the jQuery is older, we load 1.9. */
if ((typeof jQuery === 'undefined') || (parseFloat(jQuery.fn.jquery) < 1.7)) {
loadScript('//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js', function(){
jQuery191 = jQuery;
/*append jQuery theme stylesheet */
jQuery191('head').append('<link rel="stylesheet" type="text/css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.css">');
/*load jQueryUI and execute own code on callback */
jQuery191.getScript('//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js',function(){jQuery191.noConflict(true);myAppJavaScript(jQuery191);});
});
} else {
/*append jQuery theme stylesheet */
jQuery('head').append('<link rel="stylesheet" type="text/css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.css">');
/*load jQueryUI and execute own code on callback */
jQuery.getScript('//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js',function(){myAppJavaScript(jQuery);}
}
})();
@numediaweb
Copy link

Changed:
jQuery.getScript('//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js',function(){myAppJavaScript(jQuery);}
to
jQuery.getScript('//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js',function(){myAppJavaScript(jQuery);});
this fixes Uncaught SyntaxError: missing ) after argument list

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment