problemer med gem fra iframe i WYSIWYG editor
Jeg har lavet en lille WYSIWYG editor. Når jeg skal gemme indholdet bruger jeg følgende:function doSave()
{
var HTMLcode = stripCode(iView.document.body.innerHTML);
window.location = 'KeKaCMS_editor.asp?htmlCode=' + HTMLcode;
}
function stripCode(sHTML) {
sHTML = sHTML.replace("class=MsoNormal", "");
sHTML = sHTML.replace("className", "");
sHTML = sHTML.replace("style", "");
sHTML = sHTML.replace(/<?xml:[^>]*\/>/gi, "");
sHTML = sHTML.replace(/<?xml:[^>]*\/>/gi, "");
sHTML = sHTML.replace(/<o:p>/gi, "")
sHTML = sHTML.replace(/<\/o:p>/gi, "")
sHTML = sHTML.replace(/<I[^>]*\>/gi, "<I>");
sHTML = sHTML.replace(/<B[^>]*\>/gi, "<B>");
return sHTML;
}
Det virker normalt fint, men hvis jeg paster en tabel fra word ind, så er det som om der mangler en stor del af koden.
et eksempel:
Således ser koden ud inden jeg gemmer i min WYSIWYG editor (eksemplet er lavet uden om enhver form for rensning af koden):
<P>
<TABLE class=MsoTableGrid style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellSpacing=0 cellPadding=0 border=1>
<TBODY>
<TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=326>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">Celle 1<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=326>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">Celle 2<o:p></o:p></FONT></FONT></P></TD></TR></TBODY></TABLE></P>
-----------------------------------------------
Hvis jeg åbner siden efter at have gemt (altså hiver det ud af databasen der er gemt, får jeg følgende:)
<P>
<TABLE class=MsoTableGrid cellSpacing=0 cellPadding=0 border=1 ="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext">
<TBODY>
<TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 244.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=326>
<P style="MARGIN: 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">Celle 1<?</FONT></FONT></P></FONT></TD><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: </TR></TBODY></P>
Her i nogen forklaring?
