Differenze tra le versioni di "Riferimenti:Incorporare App GeoGebra"
(7 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 13: | Riga 13: | ||
{{Step|num=4}} Configurare e inserire l'applet | {{Step|num=4}} Configurare e inserire l'applet | ||
<pre><script> | <pre><script> | ||
− | var | + | var params = {"appName": "graphing", "width": 800, "height": 600, "showToolBar": true, "showAlgebraInput": true, "showMenuBar": true }; |
+ | var applet = new GGBApplet(params, true); | ||
window.addEventListener("load", function() { | window.addEventListener("load", function() { | ||
− | + | applet.inject('ggb-element'); | |
}); | }); | ||
</script></pre> | </script></pre> | ||
− | + | Modificare il parametro <code>appName</code> da <code>graphing</code> a <code>geometry</code> oppure <code>3d</code> per ottenere una delle altre app. Per caricare un'Attività, utilizzare ad es. <code>"material_id":"RHYH3UQ8"</code> oppure <code>"filename":"myFile.ggb"</code>, quindi è possibile personalizzare ulteriormente le app tramite i [[Riferimenti:Parametri_applet|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= | =Esempi online= | ||
Riga 41: | Riga 46: | ||
<pre> <script src="GeoGebra/deployggb.js"></script></pre> | <pre> <script src="GeoGebra/deployggb.js"></script></pre> | ||
ed è inoltre necessario includere la seguente riga di codice prima della chiamata di inject(): | ed è inoltre necessario includere la seguente riga di codice prima della chiamata di inject(): | ||
− | <pre> | + | <pre> applet.setHTML5Codebase('GeoGebra/HTML5/5.0/web3d/');</pre> |
− | In alternativa, se fosse necessario specificare una determinata versione, è possibile utilizzare il CDN come segue: | + | In alternativa, se fosse necessario specificare una determinata versione, è possibile utilizzare il CDN come segue (senza cambiare <code>5.0.</code> ma solo <code>498</code>): |
− | <pre> | + | <pre> applet.setHTML5Codebase("https://www.geogebra.org/apps/5.0.498.0/web3d");</pre> |
+ | Per motivi tecnici, è necessario utilizzare <code>5.2</code> al posto di <code>5.0</code> a partire dalla versione 804, come ad es. | ||
+ | <pre> applet.setHTML5Codebase("https://www.geogebra.org/apps/5.2.804.0/web3d");</pre> | ||
+ | |||
+ | =Personalizzare l'aspetto delle app incorporate= | ||
+ | Questa funzionalità è al momento disponibile solo per GeoGebra Note. Per modificare i colori dell'interfaccia utente (UI) è possibile impostare alcune variabili CSS | ||
+ | <pre> | ||
+ | <style> | ||
+ | body { | ||
+ | --ggb-primary-color: #ee0290; /* utilizzabile per gran parte degli elementi dell'UI, inclusa la barra degli strumenti e i pulsanti */ | ||
+ | --ggb-primary-variant-color: #880061; /* per i pulsanti al passaggio del puntatore */ | ||
+ | --ggb-dark-color: #880061; /* per il testo evidenziato nelle finestre di dialogo */ | ||
+ | --ggb-light-color: #f186c0; /* per la barra di avanzamento progresso */ | ||
+ | } | ||
+ | </style> | ||
+ | </pre> | ||
− | = | + | =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). | È 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 | + | Per utilizzare un service worker è necessario impostare una versione specifica di GeoGebra, utilizzando <code>setHTML5Codebase()</code> . |
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''). | 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''. | 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 | + | 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 serviceWorkerPath = '/sworker-locked.js' | ||
Riga 81: | Riga 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. | |
− | |||
− | |||
− | cache |
Versione attuale delle 10:47, 11 dic 2023
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 applet = new GGBApplet(params, true); window.addEventListener("load", function() { applet.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():
applet.setHTML5Codebase('GeoGebra/HTML5/5.0/web3d/');
In alternativa, se fosse necessario specificare una determinata versione, è possibile utilizzare il CDN come segue (senza cambiare 5.0.
ma solo 498
):
applet.setHTML5Codebase("https://www.geogebra.org/apps/5.0.498.0/web3d");
Per motivi tecnici, è necessario utilizzare 5.2
al posto di 5.0
a partire dalla versione 804, come ad es.
applet.setHTML5Codebase("https://www.geogebra.org/apps/5.2.804.0/web3d");
Personalizzare l'aspetto delle app incorporate
Questa funzionalità è al momento disponibile solo per GeoGebra Note. Per modificare i colori dell'interfaccia utente (UI) è possibile impostare alcune variabili CSS
<style> body { --ggb-primary-color: #ee0290; /* utilizzabile per gran parte degli elementi dell'UI, inclusa la barra degli strumenti e i pulsanti */ --ggb-primary-variant-color: #880061; /* per i pulsanti al passaggio del puntatore */ --ggb-dark-color: #880061; /* per il testo evidenziato nelle finestre di dialogo */ --ggb-light-color: #f186c0; /* per la barra di avanzamento progresso */ } </style>
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.