Riferimenti:Incorporare App GeoGebra
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 params = {"appName": "graphing", "width": 800, "height": 600, "showToolBar": true, "showAlgebraInput": true, "showMenuBar": true }; var ggbApplet = new GGBApplet(params, true); window.addEventListener("load", function() { ggbApplet.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:
- Incorporare la Calcolatrice grafica
- Incorporare l'app Geometria
- Calcolatrice grafica in modalità popup
- App Geometria in modalità popup
API delle app GeoGebra
Gli esempi seguenti illustrano come interagire con le app incorporate, utilizzando le API delle app GeoGebra:
- Mostra e nasconde oggetti con pulsanti
- Salvataggio e caricamento
- Listening degli eventi di aggiornamento, aggiungi e rimuovi
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():
ggbApplet.setHTML5Codebase('GeoGebra/HTML5/5.0/web3d/');
In alternativa, se fosse necessario specificare una determinata versione, è possibile utilizzare il CDN come segue:
ggbApplet.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.