Ich habe leider ein Problem mit dem Plugin und versuche das jetzt bereits seit 3 Tagen zu lösen.
Siehe hierzu auch Thread by mybb.com:
https://community.mybb.com/thread-241271...pid1394993
Ich wollte den Spoiler im WYSIWYG Modus des SCEditor etwas anders Stylen und habe folgende Zeile noch eingefügt:
Code:
'<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px; background-color: #007FD0; color:#FFFFFF;">Spoiler: ' + i.defaultattr + '</div><br />' +
Leider wird diese jedoch jedesmal umgewandelt/hinzugefügt wenn ich von der Source in die WYSIWYG Ansicht wechsle.
Ich habe mir den Code jetzt versucht anzupassen das er abhängig von Source/WYSIWYG Ansicht unterschiedliches HTML ausgibt:
Code:
// Set spoiler format
e.sceditor.formats.bbcode.set("spoiler", {
isSelfClosing: false,
isInline: false, // Block-level element
isHtmlInline: undefined,
allowedChildren: null,
allowsEmpty: false,
excludeClosing: false,
skipLastLineBreak: true, // Prevent adding a line break after the tag
strictMatch: false,
format: function(i, t) {
t = e("div#spoilerc");
return "undefined" != typeof attrs.defaultattr ? "[spoiler=" + attrs.defaultattr + "]" + t + "[/spoiler]" : "[spoiler]" + t + "[/spoiler]";
},
html: function(e, i, t) {
var isInSourceMode = false;
//var isInSourceMode = MyBBEditor.inSourceMode();
if(isInSourceMode) {
return "undefined" != typeof i.defaultattr ?
'<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px;">' +
'<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px; background-color: #007FD0; color:#FFFFFF;">Spoiler: ' + i.defaultattr + '</div><br />' +
'<span style="display: none;">[spoiler=' + i.defaultattr + ']</span>' + t + '<span style="display: none;">[/spoiler]</span>' +
'</div>' :
'<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px;">' +
'<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px; background-color: #007FD0; color:#FFFFFF;">Spoiler</div><br />' +
'<span style="display: none;">[spoiler]</span>' + t + '<span style="display: none;">[/spoiler]</span>' +
'</div>';
} else {
return "undefined" != typeof i.defaultattr ?
'<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px;">' +
'<span style="display: none;">[spoiler=' + i.defaultattr + ']</span>' + t + '<span style="display: none;">[/spoiler]</span>' +
'</div>' :
'<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px;">' +
'<span style="display: none;">[spoiler]</span>' + t + '<span style="display: none;">[/spoiler]</span>' +
'</div>';
}
},
breakBefore: false,
breakStart: false,
breakEnd: false,
breakAfter: false,
});
Wenn ich aber
Code:
var isInSourceMode = false;
Ersetze durch z.b.
Code:
var isInSourceMode = MyBBEditor.inSourceMode();
oder
Code:
var isInSourceMode = instance.inSourceMode();
oder
Code:
var isInSourceMode = e.inSourceMode();
Dann funktioniert der Editor nicht mehr richtig / Textfeld ist blank.
Ich bin total am verzweifeln. bei Mybb.com sowie dem SCEditor Autor habe ich bislang leider weder hilfe geschweige denn eine Rückmeldung erhalten. Auch beim Autor dieses Plugins habe ich via. PN bei mybb.com Nachgefragt und leider keine Rückmeldung erhalten.
Kann mir hier jemand helfen? Bin kurz davor zu kapitulieren.
(Bin leider mit dem SCEditor auch nicht vertraut und auch nicht besonders bewandert mit Javascript)
Im Anhang noch ein paar Bilder von dem Problem.
Es betrifft die spoiler.js vom Plugin.