Riferimenti:Incorporare App GeoGebra

Da GeoGebra Manual.

Questa pagina descrive come incorporare le app GeoGebra nel proprio sito Web. Per ulteriori informazioni relative a come interagire con le app incorporate, fare riferimento alla documentazione relativa alle API delle app GeoGebra.

Metodo rapido

Per incorporare una app GeoGebra nella propria pagina Web è necessario includere nel file HTML le seguenti tre parti:

1 Assicurarsi di avere quanto segue nella sezione <head>, in modo che lo scaling possa funzionare correttamente (ad es. sui browser nei dispositivi mobili) e che Unicode sia funzionante:

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

2 La libreria javascript deployggb.js deve essere inclusa nel seguente tag:

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

3 Creare nella pagina Web un elemento in cui deve essere incorporata l'applet

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

4 Configurare e inserire l'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>

Modificare il parametro appName da graphing a geometry oppure 3d per ottenere una delle altre app. Per caricare un'Attività, utilizzare ad es. "material_id":"RHYH3UQ8" oppure "filename":"myFile.ggb", quindi è possibile personalizzare ulteriormente le app tramite i parametri delle app GeoGebra.

Tutorial

È disponibile un tutorial più dettagliato che spiega i diversi modi per incorporare un applet: https://www.geogebra.org/m/yvv8zaq4

Esempi online

Ecco alcuni esempi, con relativo codice html, su come incorporare le app GeoGebra in una pagina Web o in una finestra di dialogo popup:

API delle app GeoGebra

Gli esempi seguenti illustrano come interagire con le app incorporate, utilizzando le API delle app 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 specifica di GeoGebra, utilizzando setHTML5Codebase() .

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.

© 2020 International GeoGebra Institute