BB-ForumCode und Firefox
Xonder
- javascript
2 Christian Seiler0 Ashura0 Xonder0 Jeena Paradies0 Xonder
Hallo
Ich arbeite derzeit daran das CC2 (Cutecast) Forum BB-Code tauglich zu machen .... also so,das die BB-Tags direkt auf den Markierten Text angewendet werden können.
Vorweg:
Mit dem IE funktioniert alles 1A,
Leider macht der FireFox probleme ..... bei diesem kann man den Text nicht nachträglich editieren!
1.) Markierter Text wird nicht in das JS-Fenster übernommen (wo der Tag dan erzeigt wird)
2.) Der TAG wird am ende des Textes eingestellt .... und nicht dort wo der Courser blinkt.
Hätte vielleicht wer einen Tip für mich?
Hier mal die wichtigsten Code ....
textarea Code. <<
<textarea class=input name=message style="width:100%; height:150px;" wrap="virtual" onChange=getActiveText(this) onclick=getActiveText(this) onFocus=getActiveText(this)></textarea>
zuständige (ausgelagerte) JS Code <<
var text = "";
function getActiveText(selectedtext) {
text = (document.all) ? document.selection.createRange().text : document.getSelection();
if (selectedtext.createTextRange) {
selectedtext.caretPos = document.selection.createRange().duplicate();
}
return true;
}
function AddText(NewCode) {
if (document.acinput.message.createTextRange && document.acinput.message.caretPos) {
var caretPos = document.acinput.message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
} else {
document.acinput.message.value+=NewCode;
}
setfocus();
}
function setfocus() {
document.acinput.message.focus();
}
Wer es testen möchte kann es hier tun (Testforum)
BN: cutecode Passwort: cutecode
http://www.xonder.com/cgi-bin/forenserver1/foren/F_0001/cutecast.pl?forum=2
lg XTC
Hallo,
der Code, den Du da verwendest, funktioniert nur im IE bzw. für alle anderen Browser fügt er den Text halt zwangsläufig ans Ende der Textarea an.
Lies Dir mal < http://aktuell.de.selfhtml.org/tippstricks/javascript/bbcode/> durch, dort ist ein Ansatz beschrieben, wie man so etwas browserübergreifender macht.
Viele Grüße,
Christian
Hallo Christian.
Lies Dir mal http://aktuell.de.selfhtml.org/tippstricks/javascript/bbcode/ durch, dort ist ein Ansatz beschrieben, wie man so etwas browserübergreifender macht.
Dazu wäre der Hinweis angebracht, dass Opera ab der Version 8.0 mit dem Objekt selection
klar kommt, somit also die IE-Version im Skript greift und der BB-Code direkt an der Cursorposition eingefügt werden kann.
Gruß, Ashura
Hallo
Hallo Christian.
Du kennst mich !?
@BB-Code
Wenn ich mir den z.b. YaBB-Code anschaue (funktioniert bei allen Browsern)
function storeCaret(text) {
if (text.createTextRange) text.caretPos = document.selection.createRange().duplicate();
}
function AddSelText(bbopen, bbclose) {
if (document.postmodify.message.caretPos) {
document.postmodify.message.caretPos.text = bbopen + document.postmodify.message.caretPos.text + bbclose;
document.postmodify.message.caretPos.select();
}
else if (document.postmodify.message.setSelectionRange) {
var selectionStart = document.postmodify.message.selectionStart;
var selectionEnd = document.postmodify.message.selectionEnd;
var replaceString = bbopen + document.postmodify.message.value.substring(selectionStart, selectionEnd) + bbclose;
document.postmodify.message.value = document.postmodify.message.value.substring(0, selectionStart) + replaceString + document.postmodify.message.value.substring(selectionEnd);
document.postmodify.message.setSelectionRange(selectionStart + bbopen.length, selectionEnd + bbopen.length);
}
else document.postmodify.message.value += bbopen + bbclose;
document.postmodify.message.focus()
}
function AddText(text) {
AddSelText('', text);
}
.... frag ich mich ob man nicht meinen Code anpassen könnte .... nur ganz check ich das nicht :-(
Jedoch schon mal danke für die Lins .... werde mir diese man ansehen!
lg XTC
Hallo,
Hallo Christian.
Du kennst mich !?
Hehe, Christian Seiler heißt zufällig auch Christian und auf dessen Posting hat Ashura auch gepostet ;-)
Grüße
Jeena Paradies
Hallo
Hehe, Christian Seiler heißt zufällig auch Christian und auf dessen Posting hat Ashura auch gepostet ;-)
Grüße
Jeena Paradies
Stimmt! .... hab ich nach dem Submit auch bemerkt ;-)
lg XTC