Tag script nella stringa JavaScript

Sto riscontrando un problema relativo alla presenza di un tag script finale all’interno di una stringa tra virgolette in JavaScript e sta uccidendo lo script. Presumo che questo non è un comportamento previsto. Un esempio di questo può essere visto qui: http://jsbin.com/oqepe/edit

Il mio browser di test case per gli interessati: Mozilla / 5.0 (X11; U; Linux i686; en-US; rv: 1.9.1.4) Gecko / 20091028 Ubuntu / 9.10 (karmico) Firefox / 3.5.4.

Che succede?

Il parser HTML del browser vedrà lo all’interno della stringa e lo interpreterà come la fine dell’elemento di script.

Guarda la colorazione della syntax di questo esempio:

  bar.....';  

Si noti che la barra della parola viene trattata come contenuto di testo al di fuori dell’elemento di script …

Una tecnica comunemente usata consiste nell’utilizzare l’operatore di concatenazione:

 var test = '...... ......'; 

Devi fuggire, altrimenti sarà parte dell’HTML.

 var test = 'what the hell... \<\/script\> \why?!?!?!\<\/h1\>';