Sauvegarder une page [JS] - HTML/CSS - Programmation
Marsh Posté le 09-07-2004 à 08:30:12
J'ai recherché sur le net et j'ai trouvé la methode execCommand("SaveAs",true,"monFichier.html" ) du Javascript. Bon le pb c'est que c'est uniquement pour IE. Alors qqn sait comment faire pour avoir qqch d'equivalent et qui marche bien sous Mozilla et Netscape et IE bien evidement ?
Marsh Posté le 09-07-2004 à 10:55:08
Pourquoi tu veux le faire à la place de l'utilisateur ? Il n'est pas assez frand pour csavoir ce qu'il a à faire ?
Marsh Posté le 09-07-2004 à 11:03:23
T509 a écrit : Pourquoi tu veux le faire à la place de l'utilisateur ? Il n'est pas assez frand pour csavoir ce qu'il a à faire ? |
+1
Marsh Posté le 09-07-2004 à 11:18:15
en fait la page est ouverte en popup, et il n'y a pas la barre de menu qui permet de sauvegarder.
De plus, lorque la session est expirée (au bout d 15 min d'inactivité), si l'utilisateur est sous IE et qu'il utilise le menu Fichier > Enregistrer Sous, il enregistre la page lui demandant de se reconnecter, pas la page qu'il a a l'ecran. (et execCommand enregistre ce qu'il y a sur l'ecran, il n'interroge pas de nouveau le serveur)
Marsh Posté le 09-07-2004 à 11:19:57
Bysounours a écrit : en fait la page est ouverte en popup, et il n'y a pas la barre de menu qui permet de sauvegarder. |
Ben ça c'est très mal déjà.
Marsh Posté le 09-07-2004 à 11:22:13
Hermes le Messager a écrit : Ben ça c'est très mal déjà. |
pourquoi ? ca peut poser quoi comme problème(s) ?
Mais bon je sais pas trop, on m'a demandé de faire comme ca alors j'ai pas cherché a savoir...
Marsh Posté le 09-07-2004 à 11:25:04
Bysounours a écrit : pourquoi ? ca peut poser quoi comme problème(s) ? |
C'est pas à toi de décider comment un mec utilise son navigateur. Point. Donc exit les popup pourri pour des pages avec du contenu.
Le popup doit servir au maximum à "vous avez un nouveau message" ou encore "copyright etc..."
Et pour les problèmes, ben lis ta propre question... Et je ne parle pas de tout le reste. Les sites en popup, c'est fini depuis 3 ans au moins...
Marsh Posté le 09-07-2004 à 11:38:27
Hermes le Messager a écrit : C'est pas à toi de décider comment un mec utilise son navigateur. Point. Donc exit les popup pourri pour des pages avec du contenu. |
Ca je suis bien d'accord, mais comme je te l'ai dit, c'est un contrainte qui m'a été imposée. J'ai pas eu le choix. Lors de sa demande, l'utilisateur est prevenu que le site fonctionne avec des popups, enfin si il lit correctment la page explicative d'utilisation de l'appli.
Popups mis a part, j'essaie de sauvegarder la page avec du js a cause d'IE qui merde si la session est expirée au moment de l'enregistrement, comme je l'ai dit un peu plus haut).
Je ne sais pas pourquoi quand on enregistre une page il va la rechercher sur le serveur, alors que Mozilla ou netscape ne le font pas.
Ce que je cherche a faire c'est de pouvoir enregistrer la page quel que soit le navigateur et même si la session est expirée.
edit : l'utilisation du javascript n'est pas obligatoire, c'est juste que j'avais trouvé le moyen de résoudre mon pb avec IE de cette maniere
Marsh Posté le 09-07-2004 à 13:29:10
le pb du javascript c'et qu'il ne réagi pas partout pareil, il est lié à la machine du visiteur... c'est pas pratique pour un truc que tu voudrais généraliste
Pour ta question, je n'ai malheuresement pas de réponse à t'apporter...
Marsh Posté le 09-07-2004 à 13:38:53
C'est bien aussi ce que je me ds...
A mon avis, je vais metre un petit message en haut de la page avertissant l'utilisateur qu'il doit enregistrer sa page dans les 15 minutes (pour eviter d'enregistrer un belle page de connexion !).
Et si il ne l'a pas fait, je fait un refres de la page au bout de 15 min + 10 sec, comme ca il voit bien qu'il est deconnecté et qu'il ne peut plus l'enregistrer...
C'est con et bourrin mais je ne voit pas vraiment d'autre solution pour eviter ce pb.
Ou alors detecter le navigateur et mettre le bouton javascript si c'est IE et laisser la barre de menu si c'est un autre nav...
Marsh Posté le 09-07-2004 à 13:59:47
Bysounours a écrit : |
La meilleure solution si tant est qu'enregistrer une page en JS en est une
Si la page est à saugegarder, tu peux la transformer en PDF : plus de souci quelque soit le navigateur
Marsh Posté le 09-07-2004 à 14:16:38
A la premiere version de l'appli on faisait bien du PDF, avec une librairie java (l'appli c'est JSP + struts) mais il ne veulent pas que nous l'utilisions.
On nous a imposé d'utiliser Oracle Report pour generer le fichier,mais c'est une usine a gaz qui n'est pas du tout adapté à ce que l'on voulais faire.
C'est pour ca que nous sommes passé sur une page html générée à la volée, et que l'on rencontre ces qq problèmes de sauvegarde...
Par contre si il existe une solution pour generer un PDF sans utiliser de librairie, je suis preneur (mais a mon avis je rêve un peu)
Marsh Posté le 09-07-2004 à 16:00:56
www.fpdf.org avec des scripts dispo pour générer le PDF à partir d'un document HTML
et PDML qui est lié à fpdf. qui est un langage très semblable à HTML pour là aussi générer des PDF
http://pdml.sourceforge.net/
(Cela nécessite PHP quand même)
Marsh Posté le 12-07-2004 à 08:01:58
Merci, je vais regarder tout ca.
edit :
J'ai regardé les liens que tu m'as donné, le pb c'est que l'appli web est developpée en JSP/Servelets, donc pas de php. Le second pb vient su fait que nous utilisions une librairie en java pour generer le pdf dans le premiere version du projet mais ca a été refusé par un audit quelconque. On a pas le droit d'utiliser une librairie, sauf si elle vient de chez oracle. Donc on est vite lmit au niveau du developpement. C'est meme pas un pb de licence, ils ne veulent tout simplement pas !
Bon je crois que je vais faire un bouton "sauvergarder" pour IE et une petite phrase "Faire Fichier > Enregistrer sous" pour les autres navigateurs.
c'est pas la meilleure solutions, mais c'est la seule qui va être acceptée pas le service qui heberge l'appli
Merci qd meme de toutes vos reponses...
Marsh Posté le 12-07-2004 à 08:54:57
ya pas de quoi
Marsh Posté le 08-07-2004 à 10:09:28
Voila, j'ai une petite question.
Existe-t-il un moyen de sauvegarder une page html par une fonction javascript ?
J'aurais en fait besoin de mettre un bouton sur ma page qui me sauvegarde le fichier, comme la fonction "window.print()" me pemet de l'imprimer. J'ai ragarder si une fonction "window.save" existait, mais j'ai pas trouvé d'infos...
Merci à vous...
edit: virage des fôtes dans le titre...
Message édité par Bysounours le 08-07-2004 à 10:27:11