Problème avec la fonction "sélectionner le contenu"

4 participants

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

Résolu Problème avec la fonction "sélectionner le contenu"

Message par alv Mar 14 Avr 2015 - 8:26

Bonjour,
Ce sujet fait suite à celui-ci qui reste sans réponse.

J'ai un souci avec la fonction "sélectionner le contenu" : je sélectionne le contenu d'un code en cliquant sur le lien "sélectionner le contenu", je copie la sélection, je colle la sélection et... problème. Ça colle le contenu avec 4 espaces avant le début de chaque ligne.

Comment corriger ce problème ?

Merci d'avance.


Le code js :
Code:
function selectCode(a){a=$(a).closest("dl").find(".cont_code,code")[0];if(window.getSelection){var c=window.getSelection();if(c.setBaseAndExtent)c.setBaseAndExtent(a,0,a,a.innerText.length-1);else{window.opera&&a.innerHTML.substring(a.innerHTML.length-4)=="<BR>"&&(a.innerHTML+=" ");var b=document.createRange();b.selectNodeContents(a);c.removeAllRanges();c.addRange(b)}}else document.getSelection?(c=document.getSelection(),b=document.createRange(),b.selectNodeContents(a),
        c.removeAllRanges(),c.addRange(b)):document.selection&&(b=document.body.createTextRange(),b.moveToElementText(a),b.select())}
       
        $(function(){
            $("dl.codebox:not(.spoiler,.hidecode)  > dd.code, dl.codebox:not(.spoiler,.hidecode)  > dd > code").closest("dl").find('dt').append('<span onClick="selectCode(this)" class="selectCode">Sélectionner</span>');
        });


Dernière édition par alv le Mer 22 Avr 2015 - 19:17, édité 1 fois
alv

alv
Membre habitué

Messages : 1539
Inscrit(e) le : 09/07/2012

https://www.forumpeuplevert.com
alv a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par Invité Mar 14 Avr 2015 - 18:03

Salut alv,
le script fonctionne parfaitement :

La preuve en image:

Lorsque tu cliques sur "Sélectionner le contenu:
Problème avec la fonction "sélectionner le contenu" 0121

Le code est bien sélectionné:

Problème avec la fonction "sélectionner le contenu" 0215

Tu colles le contenu directement dans un message, de mon côté il passe avant dans le bloc note de Windows
et les espaces disparaissent Wink .

a++



Anonymous

Invité
Invité


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

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par kiwi14637 Mar 14 Avr 2015 - 18:24

Bonjour,

J'ai enfin compris votre problème.
Le javascript rajoute des tabulations quand on copie le code depuis Firefox (un test est effectué dans le js, vient sans doute de là).
L'éditeur supprime ces tabulations assez bizarrement et rajoute des espaces à la place (de mémoire).
Il faudrait demander à Ea ou trouver un autre code (celui-là semble d'ailleurs assez complexe).
Comme la messagerie d'Ea est fermée, il faudrait envoyer un Mp à un membre du staff pour qu'il le fasse suivre.

Bonne soirée !

Edit : J'ai également pensé à passer par le bloc-notes, comme ça vous enlevez les espaces.
Ou passer par Word (la tabulation est simple à enlever) et vous collez dans l'éditeur non WYSIWYG.
kiwi14637

kiwi14637
Membre habitué

Masculin
Messages : 1387
Inscrit(e) le : 19/05/2010

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

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par alv Mar 14 Avr 2015 - 20:10

Bonjour Milouze14 et kiwi14637,

Merci pour votre aide.
Je vais contacter un membre du staff et je vous tiens au courant.
alv

alv
Membre habitué

Messages : 1539
Inscrit(e) le : 09/07/2012

https://www.forumpeuplevert.com
alv a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par kiwi14637 Mar 14 Avr 2015 - 20:14

alv a écrit:Bonjour Milouze14 et kiwi14637,

Merci pour votre aide.
Je vais contacter un membre du staff et je vous tiens au courant.
Ok ! Wink
kiwi14637

kiwi14637
Membre habitué

Masculin
Messages : 1387
Inscrit(e) le : 19/05/2010

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

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par alv Ven 17 Avr 2015 - 8:22

Bonjour,
J'ai contacté un membre du staff et m'a dit qu'Ea n'a malheureusement pas le temps de s'en occuper, et d'upper pour avoir une réponse d'un membre.

Milouze14 a écrit:Tu colles le contenu directement dans un message, de mon côté il passe avant dans le bloc note de Windows et les espaces disparaissent Wink .
kiwi14637 a écrit:Edit : J'ai également pensé à passer par le bloc-notes, comme ça vous enlevez les espaces.
Ou passer par Word (la tabulation est simple à enlever) et vous collez dans l'éditeur non WYSIWYG.
Cette solution n'est pas évident à expliquer aux membres, donc je préfèrerai un code qui fonctionne. Si quelqu'un en connait un...
alv

alv
Membre habitué

Messages : 1539
Inscrit(e) le : 09/07/2012

https://www.forumpeuplevert.com
alv a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par kiwi14637 Ven 17 Avr 2015 - 18:50

Bonjour,

Alors je vous conseiller de demander à Ange Tuteur. Il est également très fort en codage et est notamment présent sur le support anglais.

Bonne soirée et bonne chance !
kiwi14637

kiwi14637
Membre habitué

Masculin
Messages : 1387
Inscrit(e) le : 19/05/2010

kiwi14637 a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par alv Ven 17 Avr 2015 - 19:04

Bonsoir,
Merci pour le conseil, je vais le faire de ce pas.
alv

alv
Membre habitué

Messages : 1539
Inscrit(e) le : 09/07/2012

https://www.forumpeuplevert.com
alv a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par Ange Tuteur Dim 19 Avr 2015 - 19:14

Bonsoir,

Remplacer le code JavaScript par :
Code:
function selectCode(a){a=$(a).closest("dl").find(".cont_code,code")[0];if(window.getSelection){var c=window.getSelection();if(c.setBaseAndExtent)c.setBaseAndExtent(a,0,a,a.innerText.length-1);else{window.opera&&a.innerHTML.substring(a.innerHTML.length-4)=="<BR>"&&(a.innerHTML+=" ");var b=document.createRange();b.setStart(a.childNodes[0], 0);b.setEnd(a, a.childNodes.length);c.removeAllRanges();c.addRange(b)}}else document.getSelection?(c=document.getSelection(),b=document.createRange(),b.selectNodeContents(a),c.removeAllRanges(),c.addRange(b)):document.selection&&(b=document.body.createTextRange(),b.moveToElementText(a),b.select())};
$(function(){$("dl.codebox:not(.spoiler,.hidecode)  > dd.code, dl.codebox:not(.spoiler,.hidecode)  > dd > code").closest("dl").find('dt').append('<span onClick="selectCode(this)" class="selectCode">Sélectionner</span>')});

Pour Range, j'ai remplacé b.selectNodeContents(a); par :
Code:
b.setStart(a.childNodes[0], 0);
b.setEnd(a, a.childNodes.length);
Ange Tuteur

Ange Tuteur
****

Masculin
Messages : 482
Inscrit(e) le : 16/11/2013

https://fmdesign.forumotion.com
Ange Tuteur a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par alv Mar 21 Avr 2015 - 14:13

Bonjour Ange Tuteur,
Merci beaucoup pour votre aide.

J'ai mis en place le code, mais ça n'a rien changé. Il y a toujours 4 espaces avant le début de chaque ligne en collant la copie.
alv

alv
Membre habitué

Messages : 1539
Inscrit(e) le : 09/07/2012

https://www.forumpeuplevert.com
alv a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par kiwi14637 Mar 21 Avr 2015 - 19:00

alv a écrit:Bonjour Ange Tuteur,
Merci beaucoup pour votre aide.

J'ai mis en place le code, mais ça n'a rien changé. Il y a toujours 4 espaces avant le début de chaque ligne en collant la copie.
Bonjour,

Le code marche parfaitement Ange Tuteur ! Smile

Alv : Vous avez ce code-ci :
Code:
function selectCode(a){a=$(a).closest("dl").find(".cont_code,code")[0];if(window.getSelection){var c=window.getSelection();if(c.setBaseAndExtent)c.setBaseAndExtent(a,0,a,a.innerText.length-1);else{window.opera&&a.innerHTML.substring(a.innerHTML.length-4)=="<BR>"&&(a.innerHTML+=" ");var b=document.createRange();b.selectNodeContents(a);c.removeAllRanges();c.addRange(b)}}else document.getSelection?(c=document.getSelection(),b=document.createRange(),b.selectNodeContents(a),c.removeAllRanges(),c.addRange(b)):document.selection&&(b=document.body.createTextRange(),b.moveToElementText(a),b.select())}$(function(){$("dl.codebox:not(.spoiler,.hidecode)  > dd.code, dl.codebox:not(.spoiler,.hidecode)  > dd > code").closest("dl").find('dt').append('<span onClick="selectCode(this)" class="selectCode">Sélectionner le contenu</span>');});
Sans doute dans un template.
Très beau forum sinon sauf pour la barre de rang "Administrateur".

Bonne soirée !
kiwi14637

kiwi14637
Membre habitué

Masculin
Messages : 1387
Inscrit(e) le : 19/05/2010

kiwi14637 a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par Ea Mar 21 Avr 2015 - 22:50

Bonjour,


Suite à la demande par message privé de kiwi, j'ai mis le code de Ange Tuteur à la place de celui dans le tutoriel ( en espérant que ça ne cause pas un problème sur un autre navigateur ).

Cordialement.
Ea

Ea
Aidactif
Aidactif

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

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

Résolu Re: Problème avec la fonction "sélectionner le contenu"

Message par alv Mer 22 Avr 2015 - 19:16

Bonjour kiwi14637,

J'avais bien ce code dans un template (viewtopic_body).
En l'enlevant, ça marche parfaitement Very Happy

Merci à tous pour votre aide.
résolu
alv

alv
Membre habitué

Messages : 1539
Inscrit(e) le : 09/07/2012

https://www.forumpeuplevert.com
alv a été remercié(e) par l'auteur de ce sujet.

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

- Sujets similaires

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