Nieuw lid |
|
Hallo allemaal,
Ik ben bezig om een klein aangepast wysiwyg editortje in elkaar te zetten, maar daarbij ondervindt ik enkele problemen. Zo werkt het toevoegen van een plaatje alleen wanneer je een stukje tekst (of een spatie) geselecteerd hebt. Doe je dit niet, dan wordt het plaatje niet geplaatst.
In firefox lijkt het wel gewoon goed te werken.
Heeft iemand van jullie een idee hoe ik dit probleem op kan lossen?
Kijk alhier voor een live voorbeeld
*** Bij het voorbeeld moet eerst op de smilie icoon gedrukt worden en daarna op een willekeurige smilie om de event te triggeren. De alert die je krijgt was voor mij een check om te controleren of het pad klopte.
en hier (een selectie van) de belangrijkste code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="javascript">
function CreateFrame(){
// IE en FF werken anders: dus kijkt hij hoe hij het moet toepassen
if(window.navigator.appName == "Microsoft Internet Explorer") {
x.document.designMode = "on";
}
if(window.navigator.appName == "Netscape") {
document.getElementById('x').contentDocument.designMode = "on";
}
}
function SetDefaults() {
x.document.body.style.fontFamily = "Trebuchet MS, Verdana, Arial, Helvetica, sans-serif";
x.document.body.style.color = "#999999";
x.document.body.style.fontSize = "12px";
x.document.body.style.lineHeight = "20px";
x.document.body.style.padding = "5px";
x.document.body.style.margin = "0px";
}
function plaatje()
{
var imagePath = "http://www.google.nl/intl/nl_nl/images/logo.gif";
document.x.execCommand("InsertImage", false, imagePath);
}
</script>
</head>
<body onload="javascript:CreateFrame();">
<img src="Images/TekstEditor_IconImage.png" width="24" height="24" onmouseup="javascript:this.src='Images/TekstEditor_IconImage.png';" onmouseover="javascript:this.src='Images/TekstEditor_IconImageH.png';" onmousedown="javascript:this.src='Images/TekstEditor_IconImageD.png';" onmouseout="javascript:this.src='Images/TekstEditor_IconImage.png';" onclick="plaatje();" />
<iframe onload="this.focus();SetDefaults();" id="x" name="x" width="626" height="500" frameborder="0"></iframe>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script language="javascript"> function CreateFrame(){ // IE en FF werken anders: dus kijkt hij hoe hij het moet toepassen if(window.navigator.appName == "Microsoft Internet Explorer") { x.document.designMode = "on"; } if(window.navigator.appName == "Netscape") { document.getElementById('x').contentDocument.designMode = "on"; } } function SetDefaults() { x.document.body.style.fontFamily = "Trebuchet MS, Verdana, Arial, Helvetica, sans-serif"; x.document.body.style.color = "#999999"; x.document.body.style.fontSize = "12px"; x.document.body.style.lineHeight = "20px"; x.document.body.style.padding = "5px"; x.document.body.style.margin = "0px"; } function plaatje() { var imagePath = "http://www.google.nl/intl/nl_nl/images/logo.gif"; document.x.execCommand("InsertImage", false, imagePath); } <body onload="javascript:CreateFrame();"> <img src="Images/TekstEditor_IconImage.png" width="24" height="24" onmouseup="javascript:this.src='Images/TekstEditor_IconImage.png';" onmouseover="javascript:this.src='Images/TekstEditor_IconImageH.png';" onmousedown="javascript:this.src='Images/TekstEditor_IconImageD.png';" onmouseout="javascript:this.src='Images/TekstEditor_IconImage.png';" onclick="plaatje();" /> <iframe onload="this.focus();SetDefaults();" id="x" name="x" width="626" height="500" frameborder="0"></iframe>
|