2016-04-30 8 views
0

Ich muss alle meine "Skripte Anrufe" innerhalb einer einzigen "$ (Dokument) .ready()" haben. Warum ich dies tun:

<head> 
... 
</head> 

<body> 
... 

    <script src="http://....jquery call"></script> 

    <script> 

     $(document).ready(function(){ 

     <?php include('script_01.js'); ?> 
     <?php include('folder/script_02.js'); ?> 
     <?php include('../../folder/script_03.js'); ?> 

     }); 

    </script> 

</body> 

Das funktioniert perfekt in allen Browsern, aber: Habe ich das Recht, das zu tun? Ist es kompatibel W3C? Vielen Dank. Nico.

Antwort

0

Es sollte funktionieren, und Sie haben das Recht, das zu tun, sie Ihre Skripte sind;)

Aber es ist nicht optimal, den Inhalt aller Dateien in einem selbst der beste Weg, Funktion ausführen zu sammeln wäre, dann Minimierung dieses Codes und Bereitstellung einer einzelnen Datei für den Benutzer.

Wie so:

(function(){ 
    // contents of all javascript files 
})(); 

als dass wie UglifyJS durch einen Minimierer laufen, vielleicht über so etwas wie this.

Das Schöne ist, dass alle Ihre globalen Variablen nicht in der window Bereich sind. Nehmen wir an, Sie haben eine Variable page, ohne die selbstausführende Funktion können Sie von der Konsole darauf zugreifen, sie ändern usw. Aber wenn Sie es in eine selbstausführende Funktion einbinden, ändert sich der Bereich vom Fensterbereich in den 'privaten' Bereich von der Selbstausdruck Funktion. Auf diese Weise kann der Benutzer die Variablen, die Ihr Skript verwendet, nicht ändern.

+0

Alles verstanden. Danke vielmals ! - Nico - –

Verwandte Themen