109 votes

Comment faire tinymce coller en texte brut par défaut

Googlé il des milliers de fois, personne ne donne une solution complète sur la façon de faire coller Tinymce en texte brut par défaut et de supprimer toute mise en forme sans cliquer sur le bouton "coller en tant que texte".

Des idées sur la façon de mettre en œuvre cela? ou comment activer le bouton "coller en tant que texte" automatiquement?

Je vous remercie

168voto

Paulo Neves Points 471

Pour le tinyMCE 3X ou 4X, les choses ont un peu changé. maintenant vous pouvez le faire et cela fonctionne bien.

 tinymce.init({
    plugins: "paste",
    paste_as_text: true
});
 

85voto

Dariusz Lyson Points 669

J'ai résolu ce problème avec ce code

 tinyMCE.init({
...
plugins : "paste",
paste_text_sticky : true,
setup : function(ed) {
    ed.onInit.add(function(ed) {
      ed.pasteAsPlainText = true;
    });
  }
....
})
 

61voto

er-v Points 2697

Le problème est que le plug-in Paste réinitialise automatiquement le texte brut collé à chaque collage. Donc, tout ce que nous devons faire - le ramener. Le code suivant devrait aider.

 tinyMCE.init({
...
oninit : "setPlainText",
plugins : "paste"

....
});
 

La définition de setPlainText

  function setPlainText() {
        var ed = tinyMCE.get('elm1');

        ed.pasteAsPlainText = true;  

        //adding handlers crossbrowser
        if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) {
            ed.onKeyDown.add(function (ed, e) {
                if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45))
                    ed.pasteAsPlainText = true;
            });
        } else {            
            ed.onPaste.addToTop(function (ed, e) {
                ed.pasteAsPlainText = true;
            });
        }
    }
 

Alors maintenant, ce sera toujours clair.

38voto

stovroz Points 1486

Je viens juste de tomber sur celui-ci et de découvrir qu'à partir de TinyMCE 3.4.2, vous pouvez simplement:

 paste_text_sticky: true,
paste_text_sticky_default: true
 

... ce qui était bien.

1voto

Asen Mitov Points 24

Ne vaut-il pas mieux utiliser:

 var ed = tinyMCE.activeEditor;
 

au lieu de:

 var ed = tinyMCE.get('elm1');
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X