]> source.dussan.org Git - jquery.git/commitdiff
No more php/js logic duplication. Ensures modules are still loaded separately when...
authorjaubourg <j@ubourg.net>
Wed, 7 Mar 2012 08:54:25 +0000 (09:54 +0100)
committerjaubourg <j@ubourg.net>
Wed, 7 Mar 2012 08:54:52 +0000 (09:54 +0100)
test/data/include_js.php

index 23207a9d93e55f325941b5cb44e4420ce2cfc40d..1e12588ebda97fa5929ee4d027668d7d74f79198 100644 (file)
-/*
-<?php
-// if php is available, close the comment so PHP can echo the appropriate JS
-echo "*" . "/";
-
-// initialize vars
-$output = "";
-$version = "";
-
-// extract vars from referrer to determine version
-if(isset($_SERVER['HTTP_REFERER'])){
-       $referrer = $_SERVER['HTTP_REFERER'];
-       $referrer_query_string = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY );
-       parse_str($referrer_query_string, $referrer_params);
-
-       if(isset($referrer_params['jquery'])){
-               $version = $referrer_params['jquery'];
-       }
+(function() {
+
+window.hasPHP = false /* <?php echo "*" + "/ || true /*"; ?> */;
+
+if ( !window.top.jQueryIncludes ) {
+       
+       window.top.jQueryIncludes = (function() {
+       
+               var location = window.top.document.location.href,
+                       baseURL = location.replace( /\/test\/.+/, "/"),
+                       version = /(?:&|\?)jquery=([^&]+?)(?:$|&)/.exec( location ),
+                       includes, i;
+
+               if ( version ) {
+                       version = version[ 1 ];
+                       if( version === "min" ) {
+                               includes = [ baseURL + "dist/jquery.min.js" ];
+                       } else if( version === "dist" ) {
+                               includes = [ baseURL + "dist/jquery.js" ];
+                       } else {
+                               includes = [ "http://code.jquery.com/jquery-" + version + ".js" ];
+                       }
+               } else {
+                       includes = [
+                               "core",
+                               "callbacks",
+                               "deferred",
+                               "support",
+                               "data",
+                               "queue",
+                               "attributes",
+                               "event",
+                               "sizzle/sizzle",
+                               "sizzle-jquery",
+                               "traversing",
+                               "manipulation",
+                               "css",
+                               "ajax",
+                               "ajax/jsonp",
+                               "ajax/script",
+                               "ajax/xhr",
+                               "effects",
+                               "offset",
+                               "dimensions",
+                               "exports"
+                       ];
+                       for ( i = includes.length; i--; ) {
+                               includes[ i ] = baseURL + "src/" + includes[ i ] + ".js";
+                       }       
+               }
+               
+               for ( i = includes.length; i--; ) {
+                       includes[ i ] = "<script src='" + includes[ i ] + "'><" + "/script>";
+               }
+
+               return includes.join( "\n" );
+       })();
 }
 
-// load up built versions of jquery
-if( $version === "min" ) {
-       $output = @file_get_contents("../../dist/jquery.min.js");
-}elseif( $version === "dist" ) {
-       $output = @file_get_contents("../../dist/jquery.js");
-}elseif( ctype_digit( substr( $version, 0, 1 )) || $version === "git" ) {
-       $output = "document.write('<script src=\"http://code.jquery.com/jquery-" . $version . ".js\"><'+'/script>');";
-}
-
-// the concatenated version of the the src files is both the default and the fallback
-// because it does not require you to "make" jquery for it to update
-if( $output === "" ) {
-       $files = array(
-               "intro",
-               "core",
-               "callbacks",
-               "deferred",
-               "support",
-               "data",
-               "queue",
-               "attributes",
-               "event",
-               "sizzle/sizzle",
-               "sizzle-jquery",
-               "traversing",
-               "manipulation",
-               "css",
-               "ajax",
-               "ajax/jsonp",
-               "ajax/script",
-               "ajax/xhr",
-               "effects",
-               "offset",
-               "dimensions",
-               "exports",
-               "outro"
-       );
-
-       foreach ( $files as $file ) {
-               $output .= file_get_contents( "../../src/" . $file . ".js" );
-       }
-
-       $output = str_replace( "(function( jQuery ) {", "", $output );
-       $output = str_replace( "})( jQuery );", "", $output );
-}
-
-echo $output;
-die();
-?>
-*/
-
-hasPHP = false;
-
-// javascript fallback using src files in case this is not run on a PHP server!
-// please note that this fallback is for convenience only, and is not fully supported
-// i.e. don't expect all of the tests to work properly
-var baseURL = document.location.href.replace( /\/test\/.+/, "/"),
-       files = [
-               "core",
-               "callbacks",
-               "deferred",
-               "support",
-               "data",
-               "queue",
-               "attributes",
-               "event",
-               "sizzle/sizzle",
-               "sizzle-jquery",
-               "traversing",
-               "manipulation",
-               "css",
-               "ajax",
-               "ajax/jsonp",
-               "ajax/script",
-               "ajax/xhr",
-               "effects",
-               "offset",
-               "dimensions",
-               "exports"
-       ],
-       len = files.length,
-       i = 0;
+document.write( window.top.jQueryIncludes );
 
-for ( ; i < len; i++ ) {
-       document.write("<script src=\"" + baseURL + "src/" + files[ i ] + ".js\"><"+"/script>");
-}
\ No newline at end of file
+})();