Ich habe gerade auf die Version 0.1.2 geupdated und auch die Revisionen eingespielt.
Seitdem funktionieren die BB-Codes nicht mehr.
Das heißt, wenn man diese von Hand einfügt, funktionieren sie, wenn man sie per Klick auf den Buttun setzen will, dann passiert gar nichts.
Kann das jemand nachvollziehen?
Habe gerade das Update schritt für Schritt nocheinmal gemacht. Der Fehler steckt irgendwo in der Revision 132... Ich habs im Bugtracker eingetragen
hab den Effekt nicht. Hast Du JS-Fehler ?
Nein, keine Fehler... Es passiert einfach nichts...
Habe aber gerade bemerkt, das es im IE 6 und 7 funktioniert. Im Firefox (2.0.0.6) geht jedoch gar nichts.
Bei mir tritt es definitiv auf, seit der Revision 132. Vorher gings ohne Probleme mit allen Browsern.
Habe jetzt nochmal probiert:
Es liegt ganz eindeutig an dieser Datei: editor_javascript.inc.js
Wenn ich mir die aus der Revision 131 hole, dann funktioniert es sofort wieder. Wenn ich mir die Datei direkt im SVN anschauen, dann sehe ich eine Menge kryptischer Zeichen.
hier ist meine:
<script language="JavaScript" type="text/javascript">
<!--
// Startup variables
var imageTag = false;
var theSelection = false;
// Check for Browser & Platform for PC & IE specific bits
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);
// Helpline messages
b_help = "Text in fett: [b]Text[/b] (alt+b)";
i_help = "Text in kursiv: [i]Text[/i] (alt+i)";
u_help = "Unterstrichener Text: [u]Text[/u] (alt+u)";
q_help = "Zitat: [quote]Text[/quote] (alt+q)";
c_help = "Code anzeigen: [code]Code[/code] (alt+c)";
l_help = "Liste: [list]Text[/list] (alt+l)";
o_help = "Geordnete Liste: [list=]Text[/list] (alt+o)";
p_help = "Bild einfügen: [img]http://URL_des_Bildes[/img] (alt+p)";
w_help = "URL einfügen: [url]http://URL[/url] oder [url=http://url]URL Text[/url] (alt+w)";
a_help = "Alle offenen BBCodes schließen";
s_help = "Schriftfarbe: [color=red]Text[/color] Tipp: Du kannst ebenfalls color=#FF0000 benutzen";
f_help = "Schriftgröße: [size=x-small]Kleiner Text[/size]";
// Define the bbCode tags
bbcode = new Array();
//bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[code language=php]','[/code]','[TS]','[/TS]','[HTML]','[/HTML]','[code language=JavaScript]','[/code]');
imageTag = false;
// Shows the help messages in the helpline window
function helpline(help) {
document.post.helpbox.value = eval(help + "_help");
}
// Replacement for arrayname.length property
function getarraysize(thearray) {
for (i = 0; i < thearray.length; i++) {
if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
return i;
}
return thearray.length;
}
// Replacement for arrayname.push(value) not implemented in IE until version 5.5
// Appends element to the array
function arraypush(thearray,value) {
thearray[ getarraysize(thearray) ] = value;
}
// Replacement for arrayname.pop() not implemented in IE until version 5.5
// Removes and returns the last element of an array
function arraypop(thearray) {
thearraysize = getarraysize(thearray);
retval = thearray[thearraysize - 1];
delete thearray[thearraysize - 1];
return retval;
}
function checkForm() {
formErrors = false;
if (document.post.message.value.length < 2) {
formErrors = "Du musst zu deinem Beitrag einen Text eingeben.";
}
if (formErrors) {
alert(formErrors);
return false;
} else {
bbstyle(-1);
//formObj.preview.disabled = true;
//formObj.submit.disabled = true;
return true;
}
}
function emoticon(text) {
var txtarea = document.post.message;
text = ' ' + text + ' ';
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
txtarea.focus();
} else {
txtarea.value += text;
txtarea.focus();
}
}
function bbfontstyle(bbopen, bbclose) {
var txtarea = document.post.message;
if ((clientVer >= 4) && is_ie && is_win) {
theSelection = document.selection.createRange().text;
if (!theSelection) {
txtarea.value += bbopen + bbclose;
txtarea.focus();
return;
}
document.selection.createRange().text = bbopen + theSelection + bbclose;
txtarea.focus();
return;
}
else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
{
mozWrap(txtarea, bbopen, bbclose);
return;
}
else
{
txtarea.value += bbopen + bbclose;
txtarea.focus();
}
storeCaret(txtarea);
}
function bbstyle(bbnumber) {
var txtarea = document.post.message;
txtarea.focus();
donotinsert = false;
theSelection = false;
bblast = 0;
if (bbnumber == -1) { // Close all open tags & default button names
while (bbcode[0]) {
butnumber = arraypop(bbcode) - 1;
txtarea.value += bbtags[butnumber + 1];
buttext = eval('document.post.addbbcode' + butnumber + '.value');
eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
}
imageTag = false; // All tags are closed including image tags :D
txtarea.focus();
return;
}
if ((clientVer >= 4) && is_ie && is_win)
{
theSelection = document.selection.createRange().text; // Get text selection
if (theSelection) {
// Add tags around selection
document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
txtarea.focus();
theSelection = '';
return;
}
}
else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
{
mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
return;
}
// Find last occurance of an open tag the same as the one just clicked
for (i = 0; i < bbcode.length; i++) {
if (bbcode[i] == bbnumber+1) {
bblast = i;
donotinsert = true;
}
}
if (donotinsert) { // Close all open tags up to the one just clicked & default button names
while (bbcode[bblast]) {
butnumber = arraypop(bbcode) - 1;
txtarea.value += bbtags[butnumber + 1];
buttext = eval('document.post.addbbcode' + butnumber + '.value');
eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
imageTag = false;
}
txtarea.focus();
return;
} else { // Open tags
if (imageTag && (bbnumber != 14)) { // Close image tag before adding another
txtarea.value += bbtags[15];
lastValue = arraypop(bbcode) - 1; // Remove the close image tag from the list
document.post.addbbcode14.value = "Img"; // Return button back to normal state
imageTag = false;
}
// Open tag
txtarea.value += bbtags[bbnumber];
if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag
arraypush(bbcode,bbnumber+1);
eval('document.post.addbbcode'+bbnumber+'.value += "*"');
txtarea.focus();
return;
}
storeCaret(txtarea);
}
// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close)
{
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd == 1 || selEnd == 2)
selEnd = selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + open + s2 + close + s3;
return;
}
// Insert at Claret position. Code from
// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
//-->
</script>
Vielen Dank Steffen...
Ich hab nochmal die Dateien verglichen von Revision 131 und 132... da gibt es überhaupt keine Unterschiede... Da ist so einiges gelb markieret, wenn man die Versionen vergleicht, aber es gibt in diesen Bereiche keine Unterschiede... Irgendwie seltsam.
Naja... Vielen Dank ... es funktioniert auf jeden Fall...
Hallo SLAng,
Bin nicht sicher ob du diesen Thread noch aktiv verfolgst, daher die PM. Wie konntest du dieses Problem lösen? Ich habe dies auch wenn ich FF 2.0.0.6 verwende. Im IE taucht es nicht auf. Ich habe Rev 134 eingespielt.....
Danke für deine Antwort.
Grüsse
Stefan
Tja, ganz ehrlich habe ich keine Ahnung warum es bei mir funktioniert. Ich habe die Datei von steffenk, die er ja auch gepostet hatte eingespielt und schon ging es wieder. Die Datenbank muss danach geupdatet werden. Einfach über den Extension Manager...
Danke für deine schnelle Antwort. Ich werde übergansmässig ebenfalls steffenk's Datei verwenden. In der neuen 'editor_javascript.inc.js' scheint aber dennoch was faul zu sein...
Danke für den bugtacker Eintrag.
Gruss
Ich habe eben steffenk's version eingespielt. Dies hat aber zu einem unbefriedigenden Resultat geführt. Der zu bearbeitende Text wurde nicht korrekt von den tags eingeschlossen, sondern nur am Ende angefügt..
In etwa so: Dieser text ist bold[/b] anstelle der korrekten Darstellungsart. Hmm, wäre schön wenn dieser Bug gefixt würde...