Take the 2-minute tour ×

When you are loading JavaScript files via the <script> tag, you can only do it one-by-one, ie <script src="myFile.js"> or so I'm assuming. Is there a way to load an entire directory of .js files like src="dir/*"?

share|improve this question

1 Answer 1

up vote 5 down vote accepted

No - you cannot, by definition, (see RFC 1738) incorporate a wildcard into a URL.

If you have server-side scripting access you could embed a block of code which inserts a script tag for every file read from a directory or you could concatenate the scripts on-the-fly (concatenation is generally preferable as it requires less overhead to download a single concatenated file).

Most efficient solution: concatenate the relevant script files and link to that file from one <script> declaration.

[H]ow exactly would I do that on-the-fly?

Here's an example of how you might do that with a PHP file named all-js.php in the same directory with all your scripts:

    $output = '';
    $dir = dirname(__FILE__);
    $files = scandir( $dir );
    if ( $files )
        foreach ( $files as $file )
            if ( '.js' == substr( $file, -3, 3 ) )
                $output .= "/* file: $file */\n\n" . file_get_contents($file) . "\n\n";
    echo $output;
share|improve this answer
mmm.. I know what "concatenate" means, but how exactly would I do that on-the-fly? –  Snailer Apr 2 '11 at 22:46
(Added PHP example) –  danlefree Apr 3 '11 at 1:37
Wow thanks for the help! I'm just getting into php now, so I only know the basics. It works great! –  Snailer Apr 4 '11 at 3:22

Your Answer


