Tengo dos JSP diferentes que el backend de Java concatena y envía de vuelta a la misma página HTML renderizada.Alcance de la función de JavaScript entre las etiquetas de secuencia de comandos
Cada JSP tiene su propio bloque <script>
y define las funciones dentro de ese bloque:
JSP # 1:
<script type="text/javascript">
function blah() { ... }
</script>
JSP # 2
<script type="text/javascript">
function foo()
{
blah();
}
</script>
Como dije, el back-end añade estos a la respuesta HTTP y los envía de vuelta al navegador durante la misma solicitud.
Cuando ejecuto esta página en mi navegador, puedo decir de inmediato que blah()
no se está ejecutando cuando se llama a foo()
. Veo un error de consola en Firebug indicando blah()
no está definido. Me pregunto si blah()
solo tiene alcance dentro de su propia etiqueta <script>
, y lo mismo para foo()
. ¿Es ese el caso aquí, o hay algo más equivocado?
Cuando voy a ver el origen de la página veo ambos bloques de scripts y ambas funciones. Esto me dice que todo se está generando/procesando correctamente en el lado del servidor, pero tal vez mi enfoque sea intrínsecamente incorrecto (definiendo las funciones dentro de diferentes etiquetas de script). Gracias por adelantado.
cuándo o cómo se llama foo()? – Philipp
foo() se invoca cuando un usuario coloca su mouse sobre un elemento. Puedo verificar que se llama reemplazando su contenido con una declaración de alerta (""). – IAmYourFaja