Wysiwyg html editor onder Mozilla : Tabellen

Pagina: 1
Acties:

  • Parlor_Inventor
  • Registratie: Juli 2001
  • Laatst online: 25-01-2023

Parlor_Inventor

I doubt, therefore I might be

Topicstarter
Ik ben bezig met een wysiwyg html editor die zowel onder IE als onder Mozilla moet werken, en op dit moment ben ik bezig met het implementeren van tabellen. Om het geheel onder beide browsers met zo min mogelijk code te laten werken heb ik er voor gekozen om een string op te bouwen met de tags, en deze vervolgens op de plaats van de selectie (cursor) in te voegen. Maar nu heb ik het volgende probleem:

In een <td> kan (in Mozilla/Firefox) pas tekst ingevoerd worden als deze al data bevat. Een simpele spatie of enter (\n) is niet voldoende, het moet een daadwerkelijk teken zijn. Wat ik dus doe is er een & nbsp; in zetten, maar dit geeft problemen omdat de ingevoerde tekst dan soms voorafgegaan wordt door een spatie, of er iig een loze spatie in de uiteindelijke tekst komt te staan.

Een mogelijke oplossing was om aangemaakte td's een ID te geven, eerst te vullen met & nbsp;, en aan het eind van de functie (als de tabel aan het document is toegevoegd) een dubbele for-lus te maken met het volgende statement:

document.getElementById("td" + i + "-" + j).innerHTML = "";

Ware het niet dat Mozilla de ID dan niet kent, omdat deze naderhand dynamisch is aangemaakt.

Waar ik dus naar op zoek ben, is een teken zoals & nbsp;, maar dan eentje die helemaal niets invoert. Ik heb & #000; al geprobeerd, maar die geeft een onprintbaar karakter (blokje). Een backspace (& #008;) geeft ook een blokje terug.

Weet iemand wat ik verder nog kan proberen?

...And the world goes on racing, like the world always will...


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

'k moet er wat dieper induiken als ik een oplossing moet zoeken, maar kan je niet eens kijken hoe andere cross browser wysiwyg editors (zoals bv: FCK Editor) het hebben opgelost?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Wellicht met een regex onsubmit effe snel de loze spaties uit de TD's slopen?
Ik kan je de regex zo snel niet schrijven, maar dat kan toch niet al te moeilijk zijn?

Je moet <td>&nbsp;blabla vervangen door <td>blabla en blabla&nbsp;</td> door blabla</td>...

[ Voor 44% gewijzigd door RobIII op 17-08-2004 10:28 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

Zoiets dergelijks?
Kan vast beter, of correct, maar vooruit dan maar
'(<td[^>]*>)(& nbsp;)+' -> '\1'

[ Voor 31% gewijzigd door RwD op 17-08-2004 11:29 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:19

crisp

Devver

Pixelated

JavaScript:
1
yourTD.appendChild(document.createTextNode(''));

Intentionally left blank


  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

Werkt het trouwens als je er commentaar in zet?
code:
1
<!-- empty cell -->

  • Parlor_Inventor
  • Registratie: Juli 2001
  • Laatst online: 25-01-2023

Parlor_Inventor

I doubt, therefore I might be

Topicstarter
RobIII schreef op 17 augustus 2004 @ 10:26:
Wellicht met een regex onsubmit effe snel de loze spaties uit de TD's slopen?
Ik kan je de regex zo snel niet schrijven, maar dat kan toch niet al te moeilijk zijn?

Je moet <td>&nbsp;blabla vervangen door <td>blabla en blabla&nbsp;</td> door blabla</td>...
Dat lijkt me idd de beste oplossing. Ik vervang gewoon eerst alle & nbsp;'s door spaties, en als ik later nog tijd overheb (of iemand een enorm helder idee post in dit draadje) dan kijk ik wel verder....

...And the world goes on racing, like the world always will...


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:19

crisp

Devver

Pixelated

wat is er mis met het toevoegen van een lege textNode? Heb je het al geprobeert?

Intentionally left blank


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
crisp schreef op 17 augustus 2004 @ 13:02:
wat is er mis met het toevoegen van een lege textNode? Heb je het al geprobeert?
lijkt me idd nog netter... was ik nog niet eens op gekomen...
Maar daarvoor is crisp natuurlijk ook onze JS guru _/-\o_

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Parlor_Inventor
  • Registratie: Juli 2001
  • Laatst online: 25-01-2023

Parlor_Inventor

I doubt, therefore I might be

Topicstarter
crisp schreef op 17 augustus 2004 @ 12:35:
JavaScript:
1
yourTD.appendChild(document.createTextNode(''));
Op die manier ben ik idd begonnen, totdat ik er achter kwam dat de implementatie van die methode in IE beroerd slecht is. Veel attributen worden niet ondersteund. Toen had ik de keuze tussen een Mozilla-specifiek deel en een IE-specifiek deel of het opbouwen van een textstring met html code, en ik heb dus voor de laatste mogelijkheid gekozen....

...And the world goes on racing, like the world always will...

Pagina: 1