Sauvegarde de message en cours

Voir le sujet précédent Voir le sujet suivant Aller en bas

  • 0

Astuce Sauvegarde de message en cours

Message par Ea le Lun 26 Mar 2012 - 13:58

Sauvegarde de message en cours


Il y a tout d'abord l'option brouillon ( Panneau d'administration > Général > Messages et Emails | Configuration > Activer la fonctionnalité des brouillons de message ) qui ajoute aux réponses un bouton permettant de sauver un message dans les brouillons plutôt que de le poster directement.


Au sinon, installer le script qui suit devrait permettre de sauver les messages en cours d'édition, avec les caractéristiques suivantes :

  • Au maximum 20 messages en train d'être écrit sont sauvés.

  • La fonction de stockage local de navigateur est utilisée, donc le script n'aura pas d'effet pour un IE en dessous d'IE8.

  • En vidant les données de site du navigateur ( sur firefox c'est appelé Données de site Web hors connexion, sur chrome c'est appelé autres données de site ) on perd les messages sauvés.

  • Cela ne fonctionne pas avec le wysiwyg.

  • Cela ne rempli pas la zone d'édition si un message est déjà présent ( donc pas à une citation ou une édition ).



Pour l'installer, il faut ajouter sur toutes les pages ( voir gestion des codes javascript ) ce script :

Code:
window.localStorage&&localStorage.getItem("br-target")&&(function(){$("meta[http-equiv='refresh'][content]:first").length&&function(){var a=JSON.parse(localStorage.getItem("br-data")),b=localStorage.getItem("br-target"),c;if(-1!=(c=$.inArray(b,a))){a.splice(c,1),localStorage.setItem("br-data",JSON.stringify(a))}localStorage.removeItem(b)}();localStorage.removeItem("br-target");})();

window.localStorage&&$(function(){$(function(){if($("#text_editor_textarea").length==0)return;var a=$(document.post.mode).val(),d=$("#text_editor_textarea").sceditor("instance"),f,e,g=function(){localStorage.setItem(a,d.val());e=0},b=JSON.parse(localStorage.getItem("br-data"))||[],c;switch(a){case "editpost":return;case "reply":a+=$(document.post.t).val();break;case "newtopic":a+=$(document.post.f).val()}a=_userdata["user_id"]+a;-1!=(c=$.inArray(a,b))&&b.splice(c,1);if(20<b.length){for(c=b.length-1;0<=c;c--)if(/^\s*$/.test(localStorage.getItem(b[c])||
""))localStorage.removeItem(b[c]),b.splice(c,1);20<b.length&&(localStorage.removeItem(b[0]),b.splice(0,1))}b.push(a);localStorage.setItem("br-data",JSON.stringify(b));$(document.post).submit(function(){localStorage.setItem("br-target",a)});!d.val()&&(f=localStorage.getItem(a))&&d.val(f);d.keyUp(function(){e||(e=setTimeout(g,3E3))})})});

Si vous avez le script Redirection immédiate installé, vous devrez plutôt ajouter le script au début de la page du script de redirection immédiate.


Ea
Aidactif
Aidactif

Messages : 23417
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum