Incrustación de Aplicaciones GeoGebra

De GeoGebra Manual
Saltar a: navegación, buscar


Nota: Para incorporar una hoja dinámica a una página web, se cuenta con la opción Archivo > Comparte... para copiar el código - embed code - a incrustar en el correspondiente destino.
El método a describir, de mayor flexibilidad, propicia una integración más profunda.

Incrustar vía JavaScript

Esta página explica cómo incorporar una aplicación GeoGebra en una cierto sito Web. En JavaScript API y Aplicaciones API se detalla cómo interactuar con lo incrustado.

Ejemplos Diversos

Algunos ejemplos en línea ilustran cómo, en relación al código html, cómo incorporar una aplicación GeoGebra en una página Web o una ventana de diálogo emergente:

Algunos otros ejemplos aparecen en,

Para informarse sobre modos de operar con códigos, puede consultarse este tutorial

Método Rápido

Para incorporar una aplicación (app) GeoGebra en un página Web es preciso corroborar que el archivo HTML cuenta con lo que se indica en cada uno de los siguientes pasos:

1 Para que el Unicode vaya a funcionar, sea en un navegadores o en un dispositivos móviles, a partir de la sección <head> debe anotarse:

<meta name=viewport content="width=device-width,initial-scale=1">
<meta charset="utf-8"/>

2 La librería javascript deployggb.js debe estar incluida en la siguiente etiqueta:

<script src="https://www.geogebra.org/apps/deployggb.js"></script>

3 En la página Web se debe incluir un elemento en que se incorpore el 'applet

<div id="ggb-element"></div> 

4 Configurar e incorporar el applet

<script>  
       var ggbApp = new GGBApplet({"appName": "graphing", "width": 800, "height": 600, "showToolBar": true, "showAlgebraInput": true, "showMenuBar": true }, true);
         window.addEventListener("load", function() {  
           ggbApp.inject('ggb-element');
      });
</script>

A continuación se puede modificar el parámetro appName de graphing a geometry o 3d para una u otra de las correspondientes aplicaciones. Para una actividad, puede usarse por ejemplo, "material_id":"RHYH3UQ8" o "filename":"miarchivo.ggb" y es posible una personalización ulterior de la aplicación con los diversos parámetros pertinentes de la aplicación GeoGebra.

Tutorial

El siguiente tutorial, en italiano, detalla las distintas formas de incorporar un applet:

API de la aplicación (app) GeoGebra

Los siguientes ejemplos ilustran cómo interactuar con las aplicaciones incrustadas desde los parámetros de la aplicación GeoGebra, (API de la app de GeoGebra):

Soluciones offline y auto alojadas (self-hosted)

Es recomendable el empleo de la aplicación (app) GeoGebra de la red global del servidor www.geogebra.org -CDN (cdn.geogebra.org)- como se ilustra en la sección previa. De preferirse alojar y actualizar personalmente la app de GeoGebra para, por ejemplo, trabajar fuera de línea, es posible recurrir al conjunto de matemática: Descarga del conjunto Math Apps Bundle

El código para incorporar la aplicación es prácticamente igual a la precedente, con una diferencia: la etiqueta para incluir deployggb.js debe modificarse a

    <script src="GeoGebra/deployggb.js"></script>

Antes de la "llamada" al inject():

    ggbApp.setHTML5Codebase('GeoGebra/HTML5/5.0/web3d/');

y es preciso incluir las siguientes dos líneas de código bajo la definición del applet:

    applet1.setHTML5Codebase('GeoGebra/HTML5/5.0/web3d/');
    applet2.setHTML5Codebase('GeoGebra/HTML5/5.0/web3d/');

Como alternativa, si fuese necesario especificar una determinada versión, es posible usar la CDN (red de distribución de contenidos) de este modo:

    ggbApp.setHTML5Codebase("https://www.geogebra.org/apps/5.0.498.0/web3d");

Agilizando la ejecución vía service worker

Apelando a un service worker puede acelerarse la carga de la librería GeoGebra. A tal fin, es preciso especificar la versión de GeoGebra en uso vía: setHTML5Codebase() - técnicamente sería posible usar un service worker qye siempre descargue la última versión, pero es requeriría la actualización del service worker en el propio sito Web con cada actualización de GeoGebra.

Para instalar el service worker, en principio hay que incluir el archivo sworker-locked.js en el propio dominio (por ejemplo. www.example.com/path/sworker-locked.js). El archivo del service worker estará disponible en la carpeta GeoGebra/HTML5/5.0/web3d/ del paquete GeoGebra Math Apps.

A continuación, se debe incluir el siguiente fragmento en la página en que se carga GeoGebra., modificando el paso relativo al service worker. Puede además fijarse la variable de la ubicación del applet (appletLocation) para establecer el worker exclusivamente en una carpeta (o dejarlo como '/' para darle alcance a todas las páginas del propio dominio):

   var serviceWorkerPath = '/sworker-locked.js'
   var appletLocation = '/'
   
   function isServiceWorkerSupported() {
       return 'serviceWorker' in navigator && location.protocol === "https:";
   }
   
   function installServiceWorker() {
       if (navigator.serviceWorker.controller) {
           console.log("Service worker is already controlling the page.");
       } else {
           navigator.serviceWorker.register(serviceWorkerPath, {
               scope: appletLocation
           });
       }
   }
   
   if (isServiceWorkerSupported()) {
       window.addEventListener('load', function() {
           installServiceWorker()
       });
   } else {
       console.log("Service workers are not supported.");
   }

Con esta instalación, cuando se abra la página en que está habilitado un service worker, el guión o script de la aplicaron, se descarga en el cache del service worker. De este modo, en la próxima ocasión en que se reitere la visita a la página, los scripts se cargarán desde el cache en lugar de tener que volver a recuperarlo desde los correspondientes servidores.

Ejemplos

© 2024 International GeoGebra Institute