Redactor: Impossible de faire défiler après avoir consulté la source HTML

Créé le 24 janv. 2019  ·  17Commentaires  ·  Source: craftcms/redactor

97

Déjà signalé mais fermé pour cause d'inactivité.

J'ai exactement le même problème ici, mais la barre de défilement ne disparaît pas, elle ne fonctionne tout simplement pas.
Le redimensionnement de la fenêtre la fait fonctionner jusqu'à ce que je fasse défiler à nouveau.

Aucune erreur dans la console du navigateur.

Mêmes étapes pour reproduire :

  1. Activer le plugin source html ( _button?_ ) pour le champ de rédaction
  2. Collez suffisamment de texte pour que la barre de défilement apparaisse
  3. Afficher la source html du texte collé
  4. Défiler vers le bas
  5. Après le défilement vers le bas, la barre de défilement disparaît (_ pas pour moi _). L'utilisateur ne peut pas revenir en arrière - lorsqu'il essaie, les pages "sautent" un peu vers le haut, puis reviennent à la position précédente. Tous les boutons du rédacteur disparaissent.

La seule chose ici est que j'ai un formatage personnalisé ajouté à ma configuration de rédacteur, mais après quelques tests, cela ne fait aucune différence.

Artisanat CMS 3.1.3
Rédacteur 2.3.0

Commentaire le plus utile

@angrybrad

https://streamable.com/f6we5

(L'attente avant d'essayer de cliquer sur la barre de défilement, c'est moi qui essaie de faire défiler avec la souris)

Tous les 17 commentaires

Je ne peux toujours pas reproduire cela, mais je viens de publier la version 2.3.2 qui inclut une version plus récente de Redactor. C'est probablement corrigé maintenant, mais faites-moi savoir si ce n'est pas le cas.

Je viens de mettre à jour la dernière version et le bogue est toujours là !

Apparemment, c'est corrigé sur Firefox, mais toujours ici sur Chrome 72.

Je suis sur un système Windows 10.

Pouvez-vous reproduire ce bug sur https://imperavi.com/redactor/ ?

J'ai le même problème avec Windows 10 sur la dernière version de Chrome. Dernière version de craft et dernière version du plugin. Si je passe en mode code, le code HTML apparaît, mais lors du défilement, il déplace immédiatement la barre de défilement vers le bas et affiche simplement une boîte noire vide et la barre de défilement se fige. J'ai remarqué sur la page imperavi ci-dessus que si j'ajoute la même quantité de texte et que je change de vue, la vue du code a une grande quantité d'espace noir sous le code, c'est-à-dire que l'éditeur a conservé la même hauteur que le mode texte. Je me demande si cela fait peut-être partie du problème. Actuellement, il est impossible d'utiliser le mode code.

Je viens de remarquer également que cela ne se produit que lors du passage d'une vue de texte long à la vue de code. Si vous avez un champ de rédacteur vide et que vous passez en mode code et collez le code, la barre de défilement fonctionne correctement à l'intérieur du champ.

@lettie16 pouvez-vous reproduire ce bug sur https://imperavi.com/redactor/ ?

Pouvez-vous reproduire ce bug sur https://imperavi.com/redactor/ ?

Salut Andris,

Non, je ne peux pas le reproduire sur ce site. Mais je ne pense pas que ce soit une comparaison similaire, je pense que cela a quelque chose à voir avec la façon dont il interagit avec le champ craft cms. comme je l'ai mentionné ci-dessus, si vous avez un champ propre et vide, le collage dans la vue du code fonctionne bien, mais la barre de défilement est dans l'édition comme celle-ci dans cet éditeur.

Si vous collez beaucoup de texte dans la vue texte, puis passez à la vue code, le problème se produit et la barre de défilement apparaît en dehors de l'éditeur, c'est-à-dire fait défiler tout le panneau de champ, pas seulement l'éditeur, sauf que ce n'est pas le cas car il se fige.

Je pense que cela a peut-être quelque chose à voir avec la façon dont le code recalcule la hauteur de l'éditeur après avoir changé de vue.

Avoir du mal à reproduire cela sur Windows 10, Chrome 72 et la dernière version de Craft 3 et Redactor. Quelqu'un peut-il enregistrer une vidéo rapide du comportement au cas où il me manquerait une étape quelque part ?

@angrybrad

https://streamable.com/f6we5

(L'attente avant d'essayer de cliquer sur la barre de défilement, c'est moi qui essaie de faire défiler avec la souris)

@timoteh hrm... peut-être que cela a quelque chose à voir avec le fait d'être à l'intérieur de Matrix/Super Table ? Pouvez-vous envoyer votre fichier composer.json et un vidage de base de données à [email protected] et référencer ce problème et nous indiquer l'entrée/le champ de la vidéo que vous avez utilisée ?

J'ai essayé de l'utiliser en dehors d'une Matrix/Super Table et le résultat est le même.

@angrybrad , c'est fait !

@timoteh J'ai d'abord pu reproduire cela après un certain temps, mais en y revenant, je ne peux plus. Pouvez-vous vous assurer que vous utilisez les derniers Chrome/Reactor et Craft et voir si cela vous pose toujours problème ?

@angrybrad
Je viens d'essayer dans Chrome, toujours pareil.

Google Chrome
Version 73.0.3683.103 (version officielle) (64 bits)
Artisanat CMS 3.1.23
Rédacteur 2.3.2

@timoteh peut-être que cela a quelque chose à voir avec la taille/résolution de l'écran ? utilisez-vous le navigateur maximisé et à quelle résolution ?

@angrybrad Oui, maximisé, mais même lorsque j'essaie de jouer avec la taille de l'écran, j'obtiens toujours le même résultat. J'ai essayé de le reproduire sur plusieurs configurations de Craft 3 et je peux toujours!

Mes collègues sur iOS ne sont plus capables de le reproduire, voici donc ma configuration :
image

Et toi aussi @lettie16 ?

Voir également ce problème sur Win10 + Chrome 74.0.3729.131 + Craft 3.1.25 + Redactor 2.3.3.2

J'ai remarqué dans les outils de développement que quelque chose dans le javascript semble être pris dans une boucle infinie, car il commence à définir cette div sur "display: none" encore et encore :

<div class="redactor-styles redactor-in redactor-in-0" dir="ltr" aria-labelledby="redactor-voice-0" role="presentation" contenteditable="true" domtargetshow="" style="display: none;">

Quelques remarques supplémentaires :

  • Il semble que le javascript force l'élément déroulant à défiler jusqu'en bas.
  • Il s'arrête si je clique sur un autre onglet de mise en page du champ (c'est-à-dire, en masquant le champ du rédacteur).
  • Avec un message plus long, il semble ne pas être déclenché immédiatement lors du défilement - je dois faire défiler un certain nombre avant que le bogue ne se déclenche.

Trouvé une solution CSS à cela en empêchant la div contenteditable qui contient le contenu WYSIWYG d'être définie sur display: none lorsque la div source est visible, ce qui semble à son tour empêcher Redactor d'entrer dans une boucle infinie . Ajoutez ce CSS à votre CP :

.redactor-source-view [contenteditable="true"] {
    display: block !important;
    height:0 !important;
    width:0 !important;
    padding:0 !important;
    overflow: hidden !important;
}

Tests dans les derniers Chrome et Firefox sur Mac, et Chrome sur PC.

Vous pouvez tester avec ce plugin pratique pour ajouter du CSS au panneau de contrôle : https://github.com/doublesecretagency/craft-cpcss

@croxton merci pour le correctif ! Comme je ne suis toujours pas capable de reproduire, je vais juste compter sur ça :)

Cette page vous a été utile?
0 / 5 - 0 notes