Javascript Problem
mike_swordfish 25.01.2005 - 19:55 554 2
mike_swordfish
Bloody Newbie
|
Hi, Ich bastele gerade an einer sehr abgespeckten Version von BBCode  Dabei bin ich auf folgendes Problem gestoßen: Das folgende Script funktioniert recht gut, wenn es in einem Solo-Fenster aufgerufen wird... Sobald es aber in einem Frame aufgerufen wird, wird zwar der Code im Formular eingefügt, jedoch immer an Position 1... der per Maus markierte Text wird hierbei ignoriert. Ich denke, das es hier an der Adressierung liegt: range = document.selection.createRange(); Wenn das Script in einem _top-Fenster ausgeführt wird, enthält die Variable range den STRING "markierter Text". sobald es aber in einem Frame-Fenster ausgeführt wird, ist dieser STRING LEER !!! Versuche meinerseits habe ich jetzt nach ca. 5 Stunden aufgegeben... Was nicht geklappt hat, waren diese Varianten: - range = window.selection.createRange();
- range = parent.frames[0].selection.createRange();
- range = parent.frames[1].selection.createRange();
- range = parent.NAMEdesFRAMES.selection.createRange();
Ich habe nur ein Frameset mit 2 Frames. Dabei soll das Script eh nur im eigenen Frame agieren, was es aber nicht tut X( Kann mir da biiiiite jemand helfen ??? Hier das Script: Javascript
function insert(aTag, eTag) {
var input = document.forms['formular'].elements[field]; input.focus(); if(typeof window.selection != 'undefined') { // Einfügen des Formatierungscodes var range = document.selection.createRange(); var insText = range.text; //alert(insText); //debug range.text = aTag + insText + eTag; // Anpassen der Cursorposition range = document.selection.createRange(); if (insText.length == 0) { range.move('character', -eTag.length); } else { range.moveStart('character', aTag.length + insText.length + eTag.length); } range.select(); }... thx a lot
|
watchout
Legendundead
|
entwickelst du unter IE?
|
atrox
in fairy dust... I trust!
|
wenn du vermutest, das problem liege in der falschen referenz zum frameset, dann wäre es nicht schnelcht, eine mini-frameset zum testen/debuggen mitzuliefern.
|