JavaScript probleem met execCommand("RemoveFormat")

Pagina: 1
Acties:

  • gvanh
  • Registratie: April 2003
  • Laatst online: 02-12-2023

gvanh

Webdeveloper

Topicstarter
Hallo daar.

Bij het in elkaar zetten van een CMS waarbij pagina's in HTML kunnen worden onderhouden, loop ik tegen een probleem aan met execCommand("RemoveFormat"). In die zin ... het doet niets!

Voorbeeld:
Ik plak een paragraaf uit Word naar de HTML-box (een i-frame met designMode="On"), de paragraaf is in de HTML-box (met 'view source' aan) vervolgens geheel voorzien van allerlei nutteloze html-tags. Ik selecteer daarna de paragraaf in de HTML-box en gooi hier de volgende code overheen (hierin is target het bewuste iframe):

======================================
rng = target.document.selection.createRange();
rng.execCommand("RemoveFormat");
======================================

Het resultaat: geen JavaScript error ... maar er gebeurt ook helemaal niets!

Doe ik hier iets fout? Ik heb al de verschillende fora afgelopen, maar niemand anders schijnt problemen te hebben hiermee. Ik heb ook een recente versie van Explorer (6.x), dus ook daar zie ik geen direct aanleiding tot problemen.

Ik hoop dat iemand mijn kan helpen.

[ Voor 10% gewijzigd door gvanh op 06-04-2004 19:39 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
javascript hoort niet thuis in p&w, zie ook de forumbeschrijving.

p&w -> w&g.

https://fgheysels.github.io/


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

returned het commando wel TRUE ?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • gvanh
  • Registratie: April 2003
  • Laatst online: 02-12-2023

gvanh

Webdeveloper

Topicstarter
Net even gechecked.

Ja, ik krijg wel TRUE terug.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 10:12
Moet je die range misschien op een of andere manier aanduiden?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

RemoveFormat haalt alleen formatting weg, niet alle tags. Dus eigenlijk alleen bold/italic/underline/font-tags.

Verwijderd

Omdat je het zo lief vraag, post ik even mijn striptags functie die ik ook gebruik in mijn cms systeem om SPAN en FONT tags te verwijderen uit de selectie...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
 * Strips HTML tags from a string
 *
 * @access public
 * @param  string  -  sInput  -  The input string
 * @param  array   -  aTags   -  The tags which to remove
 * @return string
 *
 * @author Jorgen Horstink <jorgen@webstores.nl>
 */
function striptags(sInput, aTags) {
  var reLine = new RegExp("\r");
  while (sInput.match(reLine) != null) {
    sInput = sInput.replace(reLine, "");
  }
  reLine = new RegExp("\n");
  while (sInput.match(reLine) != null) {
    sInput = sInput.replace(reLine, "");
  }
  for (i = 0; i < aTags.length; i++) {
    var sTag = aTags[i].toLowerCase();
    //alert(sTag);
    var re = new RegExp("<" + sTag + "([^ |>]*)([^>]*)>(.*?)<\/" + sTag + "([^ |>]*)([^>]*)>", "i");

    while (sInput.match(re) != null) {
      sInput = sInput.replace(re, "$3");
    }      
  }
  return (sInput);
}

[ Voor 9% gewijzigd door Verwijderd op 07-04-2004 00:10 ]

Pagina: 1