Tengo un index.html ejecutando un menú
<a href='./satellites.html'> <a href='./simulation.html'>El servidor responde enviando uno de los dos archivos solicitados y una cabecera. Los dos archivos (satélites.html y simulación.html) son casi iguales con la única diferencia en la función que se llama cuando se carga
<!-- in the satellites.html--> <body onload='init()'> ... and <!-- in the simulation.html--> <body onload='initSimulation()'> ...De lo contrario, los dos programas HTML son idénticos.
Todo funciona bien, pero quiero evitar repetir el mismo código. ¿Cómo puede el servidor controlar qué función llamará el cliente (probablemente usando parámetros de URL)? Busqué pero parece que el encabezado no está disponible ni en HTML ni en javascript.
El uso de cookies ofrece una solución, que no me gusta porque algunos usuarios no permiten cookies. Sin embargo, lo incluyo aquí como referencia: En el index.html (el menú del lado del cliente):
<!-- in index.html--> <body> ... <a href='./satellites.html' class='button'> <a onclick="return false" ondblclick="startSimulation()" class='button'> ... <script> function startSimulation(){ document.cookie = "simulation=true"; window.location.replace("./AISsatellites.html"); } </script> </body>Ahora el servidor almacena y envía siempre el mismo archivo. El cliente a través de la cookie decide qué función llamar de la siguiente manera:
<!-- in satellites.html--> <body onload='select_Simulation_or_Online()'> ... <script> function select_Simulation_or_Online(){ if(document.cookie.indexOf('simulation=')==0) { simulation = true; document.cookie = 'simulation=; expires=Thu, 01-Jan-1970 00:00:01 GMT;'; initSimulation(); } else { simulation = false; init(); } ... </script> </body>Sigo buscando una solución sin el uso de cookies, posiblemente usando un parámetro que el servidor coloca en el encabezado, para que el cliente lo lea.