diff --git a/doc/lib.md b/doc/lib.md index a49e0a9..e551202 100644 --- a/doc/lib.md +++ b/doc/lib.md @@ -87,8 +87,8 @@ If you're using LESS, make sure you compile the files to the proper locations: JavaScript is loaded in the following order: -1. `/theme/assets/js/vendor/modernizr-2.6.2.min.js` (in `head.php`) -2. `jquery-1.9.0.min.js` via Google CDN with local fallback (in `head.php`) +1. `/theme/assets/js/vendor/modernizr-2.6.2.min.js` +2. `jquery-1.9.0.min.js` via Google CDN with local fallback 3. `/theme/assets/js/plugins.js` 4. `/theme/assets/js/main.js` diff --git a/lib/scripts.php b/lib/scripts.php index 4e3273c..24efe86 100644 --- a/lib/scripts.php +++ b/lib/scripts.php @@ -9,8 +9,8 @@ * 4. /child-theme/style.css (if a child theme is activated) * * Enqueue scripts in the following order: - * 1. /theme/assets/js/vendor/modernizr-2.6.2.min.js (in head.php) - * 2. jquery-1.9.0.min.js via Google CDN (in head.php) + * 1. /theme/assets/js/vendor/modernizr-2.6.2.min.js + * 2. jquery-1.9.0.min.js via Google CDN * 3. /theme/assets/js/plugins.js * 4. /theme/assets/js/main.js */ @@ -26,21 +26,44 @@ function roots_scripts() { } // jQuery is loaded in header.php using the same method from HTML5 Boilerplate: - // Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline + // Grab Google CDN's latest jQuery with a protocol relative URL; fall back to local if offline // It's kept in the header instead of footer to avoid conflicts with plugins. if (!is_admin()) { wp_deregister_script('jquery'); - wp_register_script('jquery', '', '', '1.9.0', false); + wp_register_script('jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js', array('modernizr'), null, false); } if (is_single() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } + wp_register_script('modernizr', get_template_directory_uri() . '/assets/js/vendor/modernizr-2.6.2.min.js', false, null, false); wp_register_script('roots_plugins', get_template_directory_uri() . '/assets/js/plugins.js', false, null, false); wp_register_script('roots_main', get_template_directory_uri() . '/assets/js/main.js', false, null, false); + wp_enqueue_script('modernizr'); + wp_enqueue_script('jquery'); wp_enqueue_script('roots_plugins'); wp_enqueue_script('roots_main'); } add_action('wp_enqueue_scripts', 'roots_scripts', 100); + +// http://wordpress.stackexchange.com/a/12450 +function roots_jquery_local_fallback($src, $handle) { + static $add_jquery_fallback = false; + + if ($add_jquery_fallback) { + echo '' . "\n"; + $add_jquery_fallback = false; + } + + if ($handle === 'jquery') { + $add_jquery_fallback = true; + } + + return $src; +} + +if (!is_admin()) { + add_filter('script_loader_src', 'roots_jquery_local_fallback', 10, 2); +} diff --git a/templates/footer.php b/templates/footer.php index c94b7d2..6ef28d2 100644 --- a/templates/footer.php +++ b/templates/footer.php @@ -14,4 +14,4 @@ - + \ No newline at end of file diff --git a/templates/head.php b/templates/head.php index e7da6f6..d77c0d7 100644 --- a/templates/head.php +++ b/templates/head.php @@ -8,11 +8,6 @@