Dotclear

Ticket #1733 (closed defect: fixed)

Opened 12 years ago

Last modified 12 years ago

Nouveau billet : disparition <p></p> si insertion image en xHtml

Reported by: Mirovinben Owned by: team
Priority: normal Milestone: 2.6
Component: module:core Version: dev
Severity: normal Keywords:
Cc:

Description

Défaut apparu après la 2.6-r2096. Cache navigateur vidé. Constaté avant premier enregistrement du billet.

Nouveau billet en mode xHtml. Insertion image depuis médiathèque en mode "Visuel" sans positionnement demandé (que ce soit dans l'extrait ou le contenu). Constat lors du basculage en mode "source" :

Windows 7 - Chrome 29 / Safari 5.1.7 / Opera 16.0 : la balise <img /> est présente mais n'est plus dans un paragraphe.

Windows 7 - IE10 : tout est ok on a bien la séquence <p><img /></p>

Windows 7 - Firefox 24 : affichage de l'image en "visuel" et, de façon aléatoire mais fréquente, aucune balise visible en mode "source". Message d'erreur dans la console javascript de webdeveloper :

Erreur : TypeError: Not enough arguments to Range.setEnd.
Fichier Source : (dotclear)/admin/js/jsToolBar/jsToolBar.wysiwyg.js
Ligne : 25

Erreur : TypeError: commonAncestorContainer.tagName is undefined
Fichier Source : (dotclear)/admin/js/jsToolBar/jsToolBar.wysiwyg.js
Ligne : 30

Et si présence de la balise <img />, absence de <p></p>.

Change History

comment:1 Changed 12 years ago by lipki

Je prend pas le ticket mais je cherche l'origine. On verra après.

comment:2 Changed 12 years ago by lipki

Ça marche en : 2099:7af2e5aa15c2

Le bug est introduit en : 2102:fba83bbd6ee1 Avec la fusion de la branche : ticket 1406 ( qui règle un ticket, mais pas du tout le 1406 aucun lien de parenté )

L'erreur viens surement de la suppression de :

This.ibody.innerHTML = '<p><br _moz_editor_blogus_node="TRUE" _moz_dirty=""/></p>';

C'est marrant je voulais le supprimer la dernière fois que je suis passer par là, dans le doute je l'ai laisser ... Comme ça maintenant on sait a quoi ça sert.

comment:3 Changed 12 years ago by franck <carnet.franck.paul@…>

  • Status changed from new to closed
  • Resolution set to fixed

(In [ed5ea039a918]) Fixes #1733, thank's lipki for help!

comment:4 Changed 12 years ago by lipki

J'arrive pas a trouver de doc ou d'explication de l'utilité des attributs :

_moz_editor_bogus_node="TRUE" // oui c'est bogus pas blogus
_moz_dirty=""

Après plein de test, on s'en sort très bien avec un simple <br/> qui s'il n'est pas utile disparait pendant le processus d'enregistrement.

Et du coup cette correction suffit :

@@ -88,7 +88,7 @@
 		} else {
 			var idoc = This.iwin.document;
 			var para = idoc.createElement('p');
-			para.appendChild(idoc.createTextNode(''));
+			para.appendChild(idoc.createElement('br'));
 			while (idoc.body.hasChildNodes()) {
 				idoc.body.removeChild(idoc.body.lastChild);
 			}

comment:5 Changed 12 years ago by franck

  • Milestone changed from A definir to 2.6
Note: See TracTickets for help on using tickets.

Sites map