2010-08-26 5 views
6

Perché questo frammento:esecuzione codice all'interno di un tag <script> con una sorgente esterna

<script type="text/javascript"> 
alert("1111"); 
</script> 

<script type="text/javascript" src="xxx.js"> 
</script> 

risultato in "1111" essere avvisati, ma questo:

<script type="text/javascript" src="xxx.js"> 

alert("111"); 
</script> 

non causa "111 " avvisare? Non è possibile inserire il codice nello stesso tag <script> che carica uno script esterno?

+6

NON COMPUTE – kahoon

+0

Non è chiaro dalla tua domanda la natura del problema in modo che possiamo aiutare. – donohoe

+0

Ehi, un posto dove posso usare questa citazione "Quello che hai appena detto ... è una delle cose più follemente idiote che abbia mai sentito. In nessun punto della tua sconclusionata, incoerente risposta, eri vicino a tutto ciò che poteva essere considerato un pensiero razionale.Ognuno in questa stanza ora è più stupido per averlo ascoltato.Non ti concedo nessun punto, e Dio abbia pietà della tua anima." – Robert

risposta

6

Bene, questo è il modo in cui funziona il tag <script>. Se hai un attributo src, il contenuto del tag viene ignorato.

Basta usare un altro tag <script>, qual è il problema?

2

Il sotto JavaScript è corretta:

<html> 
    <head> 
      <script type="text/javascript"> alert("1111"); </script> 
      <script type="text/javascript" src="xxx.js"> </script> 
    </head> 
    <body> 
      <p> The actual script is in an external script file called "xxx.js".</p> 
    </body> 
</html> 

Se si desidera solo un tag script poi mettere la

alert("1111"); 

all'interno del file xxx.js.

L'avviso non funziona quando viene inserito tra il tag di script con un src perché questo è il modo in cui è previsto che funzioni. Ignora qualsiasi cosa tra i tag di script aperti e chiusi quando viene specificato src.

0

Il secondo esempio sta tentando di fare riferimento a uno script da un file esterno denominato xxx.js in questo caso situato nella stessa cartella del file html. Se hai creato quel file e hai inserito l'avviso in quel file e hai spostato il blocco di script nel tag head, avresti trovato che avrebbe funzionato.

L'inserimento di javascript in file esterni è una pratica consigliata perché consente di riutilizzare le funzioni comuni in molte pagine con una semplice istruzione inlcude nel proprio html. Inoltre mantiene i tuoi file html molto più puliti.

Quando si inizia a scrivere un sacco di JavaScript è possibile combinare tutti lo script in un unico file e poi minify utilizzando qualcosa come JSMin: http://www.crockford.com/javascript/jsmin.html

Questo comprime tutto lo script in una forma molto piccolo che è illeggibile per gli esseri umani, ma è molto più veloce per i visitatori del tuo sito perché significa che il file di script è più piccolo e che c'è una sola richiesta per servire il file al client.

Su una nota a margine, un altro strumento utile quando si scrive javascript è JSLint.

Analizza il tuo javascript e ti informa degli errori di sintassi e anche delle cattive pratiche.

Felice Coding

Paul

Problemi correlati