[Javascript??] IFrame HTML Editor

Pagina: 1
Acties:

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Topicstarter
(overleden)
Ik heb zo'n iFrame waarin je WYSIWYG je site kunt aanpassen in vele CMS-en gebouwd, en het werkt overal perfect. (Als je niet snapt wat ik bedoel, probeer dan op hotmail eens de email "met opmaak").

Ik heb echter nu een uitbreiding in 1 van de CMS-en nodig, en kom er niet uit:

Ik heb een knop gemaakt waarmee een image wordt ingevoegd (een thumbnail). Dit wordt gedaan met de 'InsertImage' parameter. Vervolgens wil ik echter een link van het plaatje maken, en dat doe je volgens mij met 'CreateLink'. Maar getuige de errors die me om de oren vliegen werkt dit alleen met tekst...?? :?

Mijn vraag dus: Nadat de thumb is ingevoegd dient er automatisch een link te worden gemaakt naar het "normale" image. De bestandsnamen e.d. weet ik dan al, maar hoe maak ik dus van een image een "klikbaar" image? Moet dit met 'CreateLink' ?? Met text lukt dit wel...

Ja ja, Google hielp niet, MSDN wordt ik niet wijzer van... I need you guys _/-\o_
Alle (zinnige) ideeën welkom, geen slap geouwehoer hier a.u.b.

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


Verwijderd

ehm.... code enzow?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Topicstarter
(overleden)
kom je never nooit niet uit (meerdere a4-tjes)... Maar hier heb je het stuk dat er toe doet:

code:
1
2
3
4
5
6
7
8
9
10
...
...
  doFormat('InsertImage',FileName);
  doFormat('CreateLink', 'javascript:showPhoto(\'' + FileName.replace('/thumbs/','/normal/') + '\');');
...
...
function doFormat(what) {
  eb = eval ('document.all.' + strIfr);
  eb.execCommand(what, arguments[1], arguments[2]);
}


strIfr is het actieve iFrame (heb er meerdere).
Als ik tekst selecteer, en dan doFormat('Createlink','http://www.bla.bla'); aanroep werkt het wel. Nu wil ik echter het net ingevoegde plaatje (dat standaard geselecteerd is overigens) "klikbaar" maken...

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


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

mv Webdesign & Graphics, clientsided

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Vreemd, bij mij werkt die wel. Ik heb de rich editor van http://webfx.eae.net/dhtml/richedit/richedit.html gebruikt.
Hij heeft de execcommand 'verbeterd':
code:
1
2
3
4
5
6
7
    function execCommand(el, execProp, execVal, bUI) {
        var doc = el.frameWindow.document;
        var type = doc.selection.type;
        var oTarget = type == "None" ? doc : doc.selection.createRange();
        var r = oTarget.execCommand(execProp, bUI, execVal);
        if (type == "Text") oTarget.select();
        return r;}


Als er geen tekst geselecteerd is, dan zorgt deze functie ervoor dat er wel tekst is geselecteerd.
Ik denk dus dat jij ook een functie moet inbouwen die het selectie type detecteert en als het niet van het type text is, dat die een nieuwe selectie moet creeeren.
Het klikken op een plaatje, is kennelijk iets anders dan het selecteren ervan.