Avatar billede htm Nybegynder
17. april 2003 - 22:20 Der er 32 kommentarer og
2 løsninger

WYSIWYG editor - problemer

Hej

Jeg har downloadet phoenixv's mini wysiwyg editor og modificeret den, ved at kigge på den normale (http://www.phoenixv.dk/wysiwyg). Dette er også kørt udemærket og den virker fint.

Jeg bare det problem at når jeg trykker <enter> er linieskiftet alt for stort. Den indsætter en <p> i stedet for en almindelige <br>

Hvordan laver jeg den om, så linieskift bliver enkelte linieskift og ikke dobbelt linieskift?
Avatar billede htm Nybegynder
17. april 2003 - 22:22 #1
Ups glemte lige at indsætte linket til mit forløbige resultat: http://80.196.140.221:8080
Avatar billede flashit Nybegynder
17. april 2003 - 22:23 #2
Du trykker på holder shift nede samtidig med at du trykker på enter
Avatar billede htm Nybegynder
17. april 2003 - 22:25 #3
OK tak - det er da et skridt på vejen! :-)

Men kan jeg ikke lave om i koden så den laver et enkelt linieskift ved tryk på enter?
Avatar billede flashit Nybegynder
17. april 2003 - 22:34 #4
Prøv at lede efter replace i koden.
der må være et sted hvor der står replace vbrlf, "<P>" eller noget ligende??
Avatar billede htm Nybegynder
17. april 2003 - 22:36 #5
Nej det står der intet om i koden :-(
Avatar billede htm Nybegynder
17. april 2003 - 22:46 #6
Det er der i en funktion (lavHTML) i WYSIWYG II, men jeg ved ikke hvordan jeg for denne integreret på min?
Avatar billede flashit Nybegynder
17. april 2003 - 22:51 #7
Kan du ikke lige vise mig koden til lavhtml.
Avatar billede htm Nybegynder
17. april 2003 - 22:53 #8
Du kan se den ved at downloade js-filen herfra: http://www.phoenixv.dk/wysiwyg/
Avatar billede flashit Nybegynder
17. april 2003 - 23:07 #9
Sorry, men jeg kan ikke hjælpe dig :-(
Avatar billede htm Nybegynder
17. april 2003 - 23:15 #10
Øv - Men så må vi bare håbe der er andre der kan.
Avatar billede pelkjaer Nybegynder
18. april 2003 - 11:02 #11
Den nyeste her skriver ikke p tags, men kun <br>'s
http://www.phoenixv.dk/wysiwyg/wysiwyg.html
Avatar billede htm Nybegynder
18. april 2003 - 11:06 #12
pelkjaer>> Det ved jeg- men den er lige voldsom nok til mit formål - kunne eks. godt tænke mig at fjerne det blå panel i højre side! Derfor modificerede jeg mini-wysiwyg. Så hvis jeg på en måde kunne få den funktion fra den nye over i min, ville det være det bedste!
Avatar billede pelkjaer Nybegynder
18. april 2003 - 12:22 #13
Prøv og fyr den her af:

function skiftTilBR() {
  str = document.ifr.document.body.innerHTML;
  str = str.replace(/<P>/g, "");
  str = str.replace(/<\/P>/g, "<br>");
  document.ifr.document.body.innerHTML = str;
  document.ifr.focus();
}


evt. med
<a href="#" onclick="skiftTilBR();" style="color:black;">replace</a>
Avatar billede htm Nybegynder
18. april 2003 - 14:05 #14
Pelkjaer>> Det virker fint, hvis den bliver kaldt fra et link som du foreslår! Men jeg ville jo gerne have at når jeg trykkede på enter, så kome der en <br> og ikke <p> i stedet for at jeg skal replace dem senere. Jeg har prøvet med forskellige events på min iframe men jeg kan ikke få den til det, så snart jeg trykker enter!
Avatar billede htm Nybegynder
18. april 2003 - 14:09 #15
Har også prøvet at kigge lidt på dette spørgsmål, men det kan jeg hellere ikke få til at du på den måde! Skal den køre i et div for at det virker / kan virke?
Avatar billede htm Nybegynder
18. april 2003 - 14:10 #16
Og spørgsmålet er selvfølgelig: http://www.eksperten.dk/spm/309279 :-)
Avatar billede olebole Juniormester
18. april 2003 - 17:43 #17
<ole>

  function insBR() {
    var r = document.selection.createRange()
    r.pasteHTML('<BR>')
    r.select()
  }

Og på feltet, du skriver i:

onkeydown="if(window.event.keyCode==13){insBR();return false};"

/mvh
</bole>
Avatar billede pelkjaer Nybegynder
18. april 2003 - 17:49 #18
dooh :) nej jeg kendte sq' ikke select();

iøvrigt - hvorfor egentlig "disable" <p>?
Avatar billede htm Nybegynder
18. april 2003 - 17:51 #19
Olebole>> Det virker ikke rigtigt efter hensigten! Når siden lige er loadet og jeg trykker enter virker det fint og den laver enkelt linieskift, men ellers ikke!

Prøv selv på: http://80.196.140.221:8080
Avatar billede olebole Juniormester
18. april 2003 - 17:55 #20
Pudsigt ... jeg har aldrig haft problemer med den - og har ellers brugt den flittigt.
Det må skyldes noget uhensigtsmæssig kode, somewhere ... jeg gider dog ikke gå koden efter i enkeltheder  :)
/mvh
Avatar billede htm Nybegynder
18. april 2003 - 18:02 #21
Hmmm - ærgeligt

Kan det skyldes at den kører i iframe, og den derfor ikke "fanger" at der bliver trykket en tast inde i iframen?

Hvor meget kræver det for at det kan blive en <div> i stedet?
Avatar billede pelkjaer Nybegynder
18. april 2003 - 18:05 #22
I got it know

function initFrame() {
  frames.ifr.document.onkeydown = function() {
    if (frames.ifr.event.keyCode == 13) {
      selRange = frames.ifr.document.selection.createRange();
      selRange.pasteHTML('<br>');
      selRange.select();
      return false;
    }
  }
}

og <body onload="initFrame();">
Avatar billede htm Nybegynder
18. april 2003 - 18:10 #23
pelkjaer>> Det ar jo simpelhen hvad der skulle til! :-)

Tusind tak for hjælpen :-)

Jeg deler pointne mellem jer, da du også brugte lidt af oleboles kode ;-) Håber det er ok?
Avatar billede pelkjaer Nybegynder
18. april 2003 - 18:12 #24
Og så kan du fjerne alle dine "loads" i body, og fyre den i én only

function initFrame() {
  frames.ifr.document.designMode = 'On';
  document.ifr.focus();
  frames.ifr.document.onkeydown = function() {
    if (frames.ifr.event.keyCode == 13) {
      selRange = frames.ifr.document.selection.createRange();
      selRange.pasteHTML('<br>');
      selRange.select();
      return false;
    }
  }
}

<body onload="initFrame();">
Avatar billede htm Nybegynder
18. april 2003 - 18:15 #25
Her er en mand, han er glad.... Han har lige fået sin wysiwyg-editor til at virke perfekt! Der er ikke et øje tørt, jeg siger igen mange tak! :-)
Avatar billede olebole Juniormester
18. april 2003 - 18:23 #26
Hvis adressen var årsagen, må dette vel også kunne bruges:

  function insBR(d) {
    var r = d.selection.createRange()
    r.pasteHTML('<BR>')
    r.select()
  }

Og på feltet, du skriver i:

onkeydown="if(window.event.keyCode==13){parent.insBR(document);return false};"
Avatar billede htm Nybegynder
18. april 2003 - 18:28 #27
Olebole>> Umiddelbart gjorde det ingen forskel fra din første kode!
Avatar billede edutasia Nybegynder
18. april 2003 - 18:34 #28
Nu siger du nok "virke perfekt" - men prøv lige at lave en punktopstilling...

Da flere af editorens formatteringsmuligheder fungerer på afsnitsniveau og ikke blot på selektioner, er det ikke specielt hensigtsmæssigt at udskifte afsnitsmarkøren <p> med <br>.

Problemet kan løses med styles i stedet - enten ved at du indsætter en enkelt regel for <p>'er i toppen af dokumentet (den nemme løsning):

  <style>
  p {margin-top:0px; margin-bottom:0px;}
  </style>

eller ved at du f.eks. indsætter "<p style='margin-top:0px;margin-bottom:0px'>" i stedet for "<br>" i den udmærkede funktion, du nu har fået skruet sammen.

Så får du stadig <p>'er, men de ligner <br>'er :)
Avatar billede htm Nybegynder
18. april 2003 - 18:38 #29
edutasia>> Det har du da ret i det vil give forfærdlig bøvl! Prøver lige dit forslag.
Avatar billede pelkjaer Nybegynder
18. april 2003 - 18:50 #30
Eller noget endnu smartere,

function makeSelRange() {
  selRang = frames.ifr.document.selection.createRange();
}

function visPunkt(farve) {
  frames.ifr.document.body.focus();
  makeSelRange();
  selRang.pasteHTML('&nbsp;&nbsp;&nbsp;<span style="color:' + farve + ';">•</span>&nbsp;');
  selRang.select();
}

<a href="#" onclick="visPunkt('#000000');return false;" style="color:black;">Punkt opstilling</a>
Avatar billede htm Nybegynder
18. april 2003 - 18:55 #31
pelkjaer>> Problemet er der jo ikke kun med en uordnet punktopstilling men også en ordnet punktopstilling
Avatar billede pelkjaer Nybegynder
18. april 2003 - 18:57 #32
Ja selvfølgelig, men det er jo op til dig at bestemme hvilke features dine brugere skal have - jeg vil mene at unordered list er rigeligt i de fleste tilfælde - men jeg ville stadig ikke disable p tags hvis det var mig der bestemte ;)
Avatar billede htm Nybegynder
18. april 2003 - 19:27 #33
Det har jeg også fundet ud af at det er en dårlig løsning :(

Overvejer lidt at arbejde med phoenixv's nye wysiwyg-editor... Det er nok den bedste løsning, eller at forsøge at lave en selv :-P

Men har dog lige testet med at smide en p style i det dokument jeg inkluderer, og det vil kunne klare det, men er ikke vildt optimalt.
Avatar billede Slettet bruger
22. april 2003 - 15:08 #34
Faktisk er den allernemmeste løsning på linjeskiftsproblemet af inkludere dette i head på filen, der rettes i:

p {
display: list-item;
list-style-type: none;
}

Så bliver p nemlig formateret uden ekstra linjeskift, og punktopstilling virker udmærket (der er dog væsentlige problemer med indrykning af tekst; håber ikke, du får brug for det)!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester