WYSIWUG: 2 problemer
Hejsa alle eksperter :)Jeg har fået bikset mig en WUSIWUG editor sammen - som virker både i IE of Firefox :) Der er dog 2 problemer med det, et mindre et, og et ret "alvorligt" et...
1. Jeg kan ikke sætte en standard font-type i min iframe, den kode jeg har skriver denne fejl: "Et objekt er obligatorisk"
2. Det er muligt at indsætte div. formaterings-objekter som fx en ruler (inserthorizontalrule / <hr>) i selve siden, altså udenfor min iframe.
Jeg har et billede af fejlen her: http://www.case-modding.dk/fejl.gif
Min Javascript kode ser sådan ud:
<script language="JavaScript">
function selOn(ctrl)
{
ctrl.style.cursor = 'hand';
}
function Init()
{
document.getElementById('editable').contentWindow.document.designMode = 'ON';
document.getElementById('editable').contentWindow.document.body.style.fontfamily = 'Verdana'; <----- Denne virker ikke, den siger fejlen som skrevet i problem nr. 1
document.getElementById('editable').contentWindow.document.open();
document.getElementById('editable').contentWindow.document.write();
document.getElementById('editable').contentWindow.document.close();
}
function Format(type)
{
document.getElementById('editable').contentWindow.document.execCommand(''+type+'', false, null)
}
function FontColor()
{
var fCol = prompt('Enter foreground color', '');
if(fCol != null)
document.getElementById('editable').contentWindow.document.execCommand('forecolor', false, fCol);
}
function BackColor()
{
var fCol = prompt('Enter background color', '');
if(fCol != null)
document.getElementById('editable').contentWindow.document.execCommand('backcolor', false, fCol);
}
function Link()
{
document.getElementById('editable').contentWindow.document.execCommand('createlink')
}
function Image()
{
var imgSrc = prompt('Enter image location', '');
if(imgSrc != null)
document.getElementById('editable').contentWindow.document.execCommand('insertimage', false, imgSrc);
}
function Font(fName)
{
document.getElementById('editable').contentWindow.document.execCommand('fontname', false, fName);
}
function FontSize(fSize)
{
document.getElementById('editable').contentWindow.document.execCommand('fontsize', false, fSize);
}
function Process()
{
var htmlCode = document.getElementById('editable').contentWindow.document.body.innerHTML;
document.frmTraad.htmlTraad.value = htmlCode;
}
</script>
Jeg har taget et uddrag af min HTML kode (menu'en som kan ses på billedet) for at vise hvordan jeg "kalder" min "ruler"/<hr>.
<img alt="Horisontal linie/Horizontal Rule" onMouseOver="selOn(this)" src="<% response.write strImagePath %>knapper/ikoner/ruler.gif" onClick="Format('inserthorizontalrule')">
Jeg håber virkelig i kan hjælpe mig, da jeg ikke selv har kunnet finde en løsning på problemet :-/
