El problema puede ser que el navegador web ve la secuencia "</script>
" y decide que es el final del bloque de scripts.
Otra forma de solucionar el problema aparte de usar una secuencia de escape como lo hizo es romperlo en 2 cadenas que se concatenan:
"<" + "/script>"
El comportamiento que estamos viendo es no un error n la parte del navegador.
Los navegadores no "miran dentro" de un bloque de scripts, solo pasan el contenido al motor de scripts. La secuencia "</script>
" es como saben que han llegado al final del bloque, y como el navegador no interpreta el contenido del bloque, no tiene forma de saber que está en el contexto de una cadena literal en el código de script
Recuerde que los navegadores pueden admitir más lenguajes de guiones que solo Javascript, incluso si no se ve comúnmente. Internet Explorer es compatible con VBscript (y creo que cualquier lenguaje de scripts que pueda ejecutar un servidor de secuencias de comandos de Windows, pero no estoy seguro de eso). Y cuando la capacidad de tener bloques de script se puso en los navegadores desde mucho antes, nadie podía estar seguro de que el Javascript fuera a ser tan universal.
Consulte http://mathiasbynens.be/notes/etago para obtener una explicación detallada. –