AID ActiveX : enregistrer

Association pour l'Innovation Didactique Centre de Recherche et d'Expérimentation pour l'Enseignement des Mathématiques

Accueil
ActiveX
Installation
Initiation
insertion
EcritMath
scripter
enregistrer
interfaces
tester
ex. guidé
complément
Exemples
Java

Introduction : Quand on a chargé une page avec Internet Explorer, on peut l'enregistrer par l'item Enregistrer sous du menu Fichier. Est enregistrée ainsi une copie de la page dans l'état où elle a été chargée. Si, par exemple, la page contient une instance de GP0, le contrôle activeX de Geoplan, et que l'utilisateur en a modifié la figure, cette modification est perdue.
Pour éviter cela, il peut être installé très simplement, dans toute page html contenant une instance de GP0, la possibilité d'enregistrer la page dans l'état où elle est quand on demande cet enregistrement.

Aspect technique : Le principe consiste à utiliser la propriété document.body.innerHTML qui contient le texte du corps (body) de la page dans l'état actuel. L'enregistrement lui-même se fait par une méthode de GP0 qui s'appelle EnregistreHtmlSous avec comme premier paramètre le texte de la page à enregistrer. Tout ceci est à mettre dans un script en VBScript.

Exemple : La page Enregistrer1 contient une instance de GP0, un script avec la procédure "Enregistrement" et un bouton appelant ce script.
Regarder la source de cette page (dans IE, menu Affichage, Item Source ) pour saisir la simplicité du procédé.
On peut partir de cette page et la modifier sous un éditeur comme Front Page Express sans entrer dans la technique.

Amélioration : Il est possible d'appeler la procédure d'enregistrement au moment où l'utilisateur ferme la page. Il suffit pour cela d'inclure cet appel dans la procédure window_onbeforeunload qui est activée automatiquement par IE à la fermeture de la page. La page Enregistrer2 montre ce procédé.
On peut aller plus loin et enregistrer aussi l'entête et le titre de la page. Ceci complique un peu la procédure d'enregistrement, mais il n'est pas nécessaire de la détailler pour l'utiliser dans une page. Exemple : MiniGeoplan.

Remarques :

- Dans cette affaire, on peut remplacer GP0 par GE0, le contrôle de Geospace.
- La page est complètement sauvegardée par ce procédé d'enregistrement. Ceci concerne tous les contrôles modifiables par le lecteur. Par exemple une zone de texte où un élève a écrit sera sauvée avec son texte.