Diferencia entre revisiones de «Referencia:Incrustación de Aplicaciones GeoGebra»

De GeoGebra Manual
Saltar a: navegación, buscar
Línea 31: Línea 31:
 
<pre><script src="https://www.geogebra.org/apps/deployggb.js"></script></pre>
 
<pre><script src="https://www.geogebra.org/apps/deployggb.js"></script></pre>
  
{{Step|num=3}} En la página Web se debe incorporar un elemento en que esté incorporado el 'applet
+
{{Step|num=3}} En la página Web se debe incluir un elemento en que se incorpore el 'applet
 
<pre><div id="ggb-element"></div> </pre>
 
<pre><div id="ggb-element"></div> </pre>
  
Línea 99: Línea 99:
 
Con questa installazione, quando un utente apre la pagina in cui è abilitato un service worker, vengono scaricati gli script dell'applicazione, che vanno nella cache del service worker. In questo modo, la prossima volta che lo stesso utente visiterà la pagina, gli script saranno caricati dalla cache invece di essere nuovamente scaricati dai server.
 
Con questa installazione, quando un utente apre la pagina in cui è abilitato un service worker, vengono scaricati gli script dell'applicazione, che vanno nella cache del service worker. In questo modo, la prossima volta che lo stesso utente visiterà la pagina, gli script saranno caricati dalla cache invece di essere nuovamente scaricati dai server.
  
 
Se necesita incluir las siguientes tres partes en el archivo HTML:
 
 
{{Step|num=1}} La librería javascript deployggb.js se incluye con la siguiente etiqueta:
 
 
<pre>    <script src="https://cdn.geogebra.org/apps/deployggb.js"></script></pre>
 
{{Step|num=2}} Crea elementos en los cuales incrustar los applets
 
<pre>    <div id="applet_container1"></div>
 
    <div id="applet_container2"></div></pre>
 
{{Step|num=3}} Configura e inserta los applets
 
<pre><script> 
 
    var applet1 = new GGBApplet({material_id: "17499", borderColor:"#55FF00"}, true);
 
    var applet2 = new GGBApplet({filename: "../ggb/sine-curves.ggb","showToolbar":true}, true);
 
    window.addEventListener("load", function() {
 
        applet1.inject('applet_container1');
 
        applet2.inject('applet_container2');
 
    });
 
</script></pre>
 
 
El 'snippet' que está aquí arriba, incrusta un applet dado por su ID y una dada URL y lo incorpora dentro de elementos con ID 'applet_container1' y 'applet_container2' respectivamente (el elemento ID se pasa al método 'inject') . Para uso fuera de línea, es necesario especificar el archivo utilizando un base64 encoded string (press Ctrl+Shift+B to export ggbBase64 string to clipboard).  
 
El 'snippet' que está aquí arriba, incrusta un applet dado por su ID y una dada URL y lo incorpora dentro de elementos con ID 'applet_container1' y 'applet_container2' respectivamente (el elemento ID se pasa al método 'inject') . Para uso fuera de línea, es necesario especificar el archivo utilizando un base64 encoded string (press Ctrl+Shift+B to export ggbBase64 string to clipboard).  
  

Revisión del 21:37 19 dic 2019


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 utilizando JavaScript

Esta página explica cómo incorporar una aplicación GeoGebra en una cierto sito Web. En JavaScript 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 aplicaciones. Para una Actividad, se requiere. "material_id":"RHYH3UQ8" o "filename":"myFile.ggb", cuando se procure una personalización ulterior de la aplicación se deben establecer los correspondientes parámetros 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):

Soluzioni offline e self-hosted

Suggeriamo l'utilizzo delle app GeoGebra dalla nostra rete globale di server veloci www.geogebra.org come illustrato sopra. Se invece preferite ospitare e aggiornare personalmente le app GeoGebra è possibile scaricare il Pacchetto di app GeoGebra Il codice per incorporare le applet è praticamente lo stesso del precedente, con due differenze: il tag per includere deployggb.js deve essere modificato in

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

ed è inoltre necessario includere la seguente riga di codice prima della chiamata di inject():

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

In alternativa, se fosse necessario specificare una determinata versione, è possibile utilizzare il CDN come segue:

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

Velocizzare i tempi di avvio con un service worker

È possibile velocizzare l'avvio delle librerie GeoGebra utilizzando un processo di lavoro dei servizi (service worker). Per utilizzare un service worker è necessario impostare una versione speifica di GeoGebra, utilizzando setHTML5Codebase() - tecnicamente sarebbe possibile utilizzare un service worker che scarica sempre l'ultima versione, ma ciò richiederebbe l'aggiornamento del service worker sul proprio sito Web ad ogni aggiornamento di GeoGebra.

Per installare il service worker, includere prima di tutto il file sworker-locked.js nel proprio dominio (ad es. www.example.com/path/sworker-locked.js). Il file del service worker è disponibile nella cartella GeoGebra/HTML5/5.0/web3d/ del pacchetto GeoGebra Math Apps.

Includere quindi il seguente snippet nella pagina in cui viene caricato GeoGebra, modificando il percorso relativo al service worker. È inoltre possibile impostare la variabile appletLocation in modo da abilitare il worker solo in una cartella specifica (o lasciarla come '/' in modo da utilizzarla in tutte le pagine del vostro 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 questa installazione, quando un utente apre la pagina in cui è abilitato un service worker, vengono scaricati gli script dell'applicazione, che vanno nella cache del service worker. In questo modo, la prossima volta che lo stesso utente visiterà la pagina, gli script saranno caricati dalla cache invece di essere nuovamente scaricati dai server.

El 'snippet' que está aquí arriba, incrusta un applet dado por su ID y una dada URL y lo incorpora dentro de elementos con ID 'applet_container1' y 'applet_container2' respectivamente (el elemento ID se pasa al método 'inject') . Para uso fuera de línea, es necesario especificar el archivo utilizando un base64 encoded string (press Ctrl+Shift+B to export ggbBase64 string to clipboard).

When used with the id parameter, the applet will be created using the dimensions (width and height) and the applet parameters defined in the material settings on GeoGebra Materials Platform. Optionally you can override these settings by passing them in the parameters. See Reference:Applet_Parameters for the list of all parameters.

In the example the parameter "showToolbar":true overrides the material setting from the file.

Examples

Offline and Self-Hosted Solution

We suggest you use use Math Apps from our CDN (cdn.geogebra.org) as shown above, but in case you need to use the materials offline or host all the necessary file yourself you can do so using the Math Apps Bundle. Download Math Apps Bundle The embed codes are almost the same as above, with two differences: the tag for including deployggb.js needs to be changed to

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

and you need to include the following two lines below the definition of applet2

    applet1.setHTML5Codebase('GeoGebra/HTML5/5.0/web3d/');
    applet2.setHTML5Codebase('GeoGebra/HTML5/5.0/web3d/');
© 2024 International GeoGebra Institute