la explicación viene a ser la misma. veamos por que unos funcionan y otros no
- mensaje() - funciona por que es el nombre de una función que existe en un js externo cargado previamente
- alert('Este alert se genera directamente desde un evento onclick') - funciona por que alert es nativo de js
- alert_en_script('Este alert esta pasado en una función escrita en el propio golf.html') - no funciona por que alert_en_script() es simple texto
- alert('hola') y window.onload = alert('gracias') - no funcionan por la misma razón
entonces cuando abres golf.html, se ejecuta
Cita: <script type="text/javascript">
//<![CDATA[
function alert_en_script(mensaje){
alert(mensaje);
}
alert('hola');
window.onload = alert('gracias');
//]]>
</script>
sin embargo cuando es traido como respuesta a la petición
Cita: '<script type="text/javascript">
//<![CDATA[
function alert_en_script(mensaje){
alert(mensaje);
}
alert('hola');
window.onload = alert('gracias');
//]]>
</script>'
es un string