2012-11-24 22 views
5

Ho iniziato a scrivere le funzioni javascript in file .js separati. Nel mio ultimo progetto, il numero di file javascript era maggiore e quindi il caricamento della pagina era più lento perché il numero di richieste era maggiore. Quindi, per scopi sperimentali, ho convertito alcuni file .js con estensione .php e li ho aggiunti con le istruzioni include. In questo modo le prestazioni del tempo di caricamento erano migliori. Ci sono molti vantaggi nello scrivere javascript nei file .php. Posso accedere alle variabili php e passarle facilmente su javascript.Creazione di file javascript con estensione .php

Il mio dubbio è che, ci sono degli svantaggi di scrivere javascript in file .php e quindi includerli?

Quello che ho capito è che quando una pagina viene caricata, chiama i file javascript e esegue parallelamente la parte php. Quindi scriviamo le funzioni di carico.

risposta

3

La maggior parte dei browser può utilizzare 2 o più connessioni simultanee per caricare risorse. Quindi mantenere il javascript in file separati può consentire ai browser di utilizzare pienamente tutte le connessioni. Dovresti includere i tag <script> il più tardi possibile nel tuo codice HTML, in modo che il contenuto della pagina venga scritto prima che qualsiasi JS inizi a caricarsi.

Un vantaggio dell'uso di PHP potrebbe essere quello di gzip i file JS per ridurne le dimensioni.

Se la dimensione dei file javascript è piccola, ad esempio < 100 KB, potrebbe essere molto più veloce includerne un numero in uno script PHP. Ma se i file javascript erano più grandi, come 500 KB, potrebbe essere più veloce tenerli separati.

La sperimentazione e la messa a punto ti aiuteranno a trovare la risposta. Non c'è verità universale qui.

+0

La chiave qui è per sperimentare.I vantaggi del download parallelo, rispetto al fatto che i file servano come uno dipendono dalle dimensioni di tali file. – Brad

+0

Accetto il tuo punto. Non c'è una soluzione concreta a questo. gzip è un buon approccio. Non sapevo che i browser fornissero connessioni simultanee. Grazie. +1 –

7

Se vuoi compilare più file Javascript in uno sul lato server con PHP, è possibile fare qualcosa di simile:

<?php 
// script.js 
header('Content-Type: text/javascript'); // Tell browser to treat file as Javascript 

$files = array(
    'script-1.js', 
    'script-2.js', 
    'script-3.js' 
); 

foreach($files as $file){ 
    // Import each file 
    echo file_get_contents($file).PHP_EOL; 
} 

Poi, nella tua pagina, basta fare riferimento il file come se si era un file JavaScript:

... 
<script src="script.php"></script> 
... 
+0

Grazie a @Adam. Questo è un buon modo per combinare i file e usarli. +1 –

1

problema di caricamento dei file js da PHP è si stanno aumentando dimensione della vostra risposta a causa di che la pagina renderà lentamente sul browser. Dall'altro lato, se il browser carica il tuo file js, il browser invia una richiesta diversa per i file js, quindi se non vuoi che il caricamento iniziale della pagina sia lento, non inserire js in php.

Se si vuole accelerare il vostro file js carico fare le seguenti cose

  1. Minify tutti voi js file utilizzando strumenti come javascriptCompressor o jsmini
  2. Mettere questi file minified su altri server che ha il supporto CDN , puoi ospitare i tuoi file gratuitamente su alcuni cdn gratuiti, caricare da cdn è sempre più veloce e il browser può scaricare più file alla volta

  3. caricare file come jquery o altre librerie da google cdn url, o rispettivi siti utilizzare le intestazioni di scadenza per lasciare che i browser per mantenere i file js per lungo tempo, in modo che non verrà caricato su molto richiedere

se si seguono queste tecniche le pagine vengono caricate più rapidamente