01. marts 2003 - 19:21Der er
18 kommentarer og 1 løsning
Popuplink i online editor
Hej...
Jeg sidder og laver en online editor (indbygget iframe i IE).
Koden for at lave et link ser ud som følger: ---------------------------------- function createRef(link) { var tr = frames.myEditor.document.selection.createRange() tr.execCommand("CreateLink",false, link) tr.select() frames.myEditor.focus() tr.execCommand("Underline") tr.select() frames.myEditor.focus() } ----------------------------------
Ok - jeg har så lavet en række "quick-links" i stil med: <a href="java script:createRef('default.asp?pageid=2')">Personale</a>
Mit problem kommer imidlertid ved en række popups - som den ikke umiddelbart vil æde koden til. Koden er som følger:
Problemet er så hvor linket ikke er i stil med "noget.asp" men altså er en java-popup: <a href="java script:popUp('default.asp?pageid=<%=pageid%>','Popup',600,500);">Klik her</a>
Hvis man lige ser bort fra <%=pageid%>, så er det eneste problem du kan komme ud for, at citationstegnene giver lidt brok. Men det er "bare" at holde tungen lige i munden, og bruge escaping (fx \'), eller erstatte dem med noget andet indtil man sætter linket, hvis man ikke kan gennemskue det (fx bruge ¤ for ", og så erstatte til sidst med "). Jeg har brugt javascript links uden problemer, så det er muligt (selv om den anbefalede er at sætte et onclick event på linket).
- Morten
Synes godt om
Slettet bruger
01. marts 2003 - 20:06#7
hmm... jeg ved bare at hvis man prøver med at sætte det direkte ind som:
Det er i øvrigt ikke lykkedes mig at finde / lave en skifte-funktion mellem HTML og wysiwyg - eller rettere - det lader til at den således automatisk laver lokale stier om til globale - i stil med:
Internt i "editoren" står alle stier som globale stier, så man har desværre ikke andet valg end selv at lave dem om. Til gengæld er det rimeligt enkelt. Lav en replace på "http://"+document.domain til ingenting, så får du relative stier i forhold til roden af dit site.
document.domain eksisterer kun i klienten - IE, så enten skal du bruge replace idet du lægger html-en over i "EditorValue" eller også skal du have en hidden hvor du lægger document.domain over i.
Lad være at hard-code servernavnet. Det skulle jo gerne virke selv om man bruger noget.dk eller ip.nummer. Og hvad nu hvis det skal bruges på en anden server.
Synes godt om
Slettet bruger
03. marts 2003 - 11:24#18
Det kan der selvfølgelig være noget om...
Jeg bruger den her kode til at skifte ml. HTML og wysiwyg:
function setMode(bMode) { var sTmp; isHTMLMode = bMode; if (isHTMLMode){sTmp=frames.myEditor.document.body.innerHTML;frames.myEditor.document.body.innerText=sTmp;} else {sTmp=frames.myEditor.document.body.innerText;frames.myEditor.document.body.innerHTML=sTmp;} frames.myEditor.focus() }
Ja - blandt andet. Også der hvor du poster indholdet via EditorValue.
Jeg ville nu bruge en textarea til at redigere html-kilden. Har haft en uheldig episode med det andet (kode der blev ændret). Det giver selvfølgeligt lidt med at skjule/vise "myEditor" og textarea, men når det først virker, så er den en del sikrere.
Synes godt om
Ny brugerNybegynder
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.