Copiar
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>TITULO</title> </head> <body style="margin:0;padding:0; border:0; overflow: hidden;"> <!-- Aquí se carga la web.nocache que permite ejecutar escenas en local --> <script type="text/javascript" language="javascript" src="../GeoGebra5/web/web.nocache.js"></script> <article class="geogebraweb" data-param-width="790" data-param-height="540" data-param-showResetIcon="true" data-param-enableRightClick="true" data-param-enableLabelDrags="true" data-param-showMenuBar="false" data-param-showToolBar="true" data-param-showAlgebraInput="false" data-param-useBrowserForJS="true" data-param-language="es" data-param-bordercolor="#f80" data-param-showToolBarHelp="true" data-param-ggbbase64="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"></article> <!-- Aquí inicia la programación JavaScript --> <script type="text/javascript"> //Este primer bloque requiere mayores conocimientos de JS, por lo que... NO LO TOQUES //Método que permite escuchar la comunicación entre las dos herramientas window.addEventListener("message", funcionQueManejaLosMensajes) //Función que maneja los mensajes escuchados function funcionQueManejaLosMensajes(evt) { //En la variable "nombre" se almacena el mensaje enviado por DescartesJS var data = evt.data; nombre=data.name; //Mensaje con el comando enviado desde DescartesJS, al ser "evalua" entonces invoca la función calculosCAS() para ejecutar el comando enviado. Una vez evaluado, retorna el cálculo (vCalculado) a DescartesJS if ((data.type === "set") && (data.name === "evalua")) { dComando = data.value; rComando = calculosCAS(dComando); window.parent.postMessage({ type: "set", name: "vCalculado", value: rComando }, '*'); document.ggbApplet.evalCommand(rComando); window.parent.postMessage({ type: "update" }, '*'); } // se maneja un mensaje del tipo update else if (data.type === "update") {} } //Si el mensaje es un comando de GeoGebra como //Derivada[x^4] se ejecuta //Para que esto funcione es necesario utilizar //data-param-language="es" de lo contrario los //comandos deben ser enviados en inglés function calculosCAS(dComando) { return document.ggbApplet.evalCommandCAS("f:" + dComando); } //Un comodín necesario para que funcione la comunicación function ggbOnInit() { comando = 'f:Derivative[x,1]'; rComando = document.ggbApplet.evalCommandCAS(comando); } </script> </body> </html>