这里我将贴一个在线编辑(类似chinaasp)的实现方法
图片可以从xxx地方取,:)
————————————————————
edit.htm(编辑页面)
————————————————————
<style type="text/css">
table#tblcoolbar
{
background-color:threedface; padding:1px; color:menutext;
border-width:1px; border-style:solid;
border-color:threedhighlight threedshadow threedshadow threedhighlight;
}
.cbtn
{
height:18;
border-left: threedface 1px solid;
border-right: threedface 1px solid;
border-top: threedface 1px solid;
border-bottom: threedface 1px solid;
}
.txtbtn {font-family:tahoma; font-size:70%; color:menutext;}
</style>
<script language="javascript">
function button_over(ebutton)
{
ebutton.style.backgroundcolor = "#b5bdd6";
ebutton.style.bordercolor = "darkblue darkblue darkblue darkblue";
}
function button_out(ebutton)
{
ebutton.style.backgroundcolor = "threedface";
ebutton.style.bordercolor = "threedface";
}
function button_down(ebutton)
{
ebutton.style.backgroundcolor = "#8494b5";
ebutton.style.bordercolor = "darkblue darkblue darkblue darkblue";
}
function button_up(ebutton)
{
ebutton.style.backgroundcolor = "#b5bdd6";
ebutton.style.bordercolor = "darkblue darkblue darkblue darkblue";
ebutton = null;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var ishtmlmode=false
function document.onreadystatechange()
{
idcontent.document.designmode="on"
}
function cmdexec(cmd,opt)
{
if (ishtmlmode){alert("please uncheck edit html");return;}
idcontent.document.execcommand(cmd,"",opt);idcontent.focus();
}
function setmode(bmode)
{
var stmp;
ishtmlmode = bmode;
if (ishtmlmode){stmp=idcontent.document.body.innerhtml;idcontent.document.body.innertext=stmp;}
else {stmp=idcontent.document.body.innertext;idcontent.document.body.innerhtml=stmp;}
idcontent.focus();
}
function createlink()
{
if (ishtmlmode){alert("please uncheck edit html");return;}
cmdexec("createlink");
}
function insertimage()
{
if (ishtmlmode){alert("please uncheck edit html");return;}
var simgsrc=prompt("insert image file (you can use your local image file) : ", "http://www.aspalliance.com/yusuf/article10/sample.jpg");
if(simgsrc!=null) cmdexec("insertimage",simgsrc);
}
function save()
{
if (ishtmlmode){alert("please uncheck edit html");return;}
var simgtag = idcontent.document.body.all.tags("img");
var oimg;
for (var i = simgtag.length – 1; i >= 0; i–)
{
oimg = simgtag[i];
alert("add your code to upload local image file here. image inserted : " + oimg.src );
}
alert("add your code to save document here");
alert("your document : " + idcontent.document.body.innerhtml);
}
function forecolor()
{
var arr = showmodaldialog("selcolor.htm","","font-family:verdana; font-size:12; dialogwidth:30em; dialogheight:34em" );
if (arr != null) cmdexec("forecolor",arr);
}
</script>
<p><strong><font size=3>在线编辑器</font></strong></p>
<table id="tblcoolbar" width=542 cellpadding="0" cellspacing="0">
<tr valign="middle">
<td colspan=16>
<select onchange="cmdexec(formatblock,this[this.selectedindex].value);this.selectedindex=0">
<option selected>style</option>
<option value="normal">normal</option>
<option value="heading 1">heading 1</option>
<option value="heading 2">heading 2</option>
<option value="heading 3">heading 3</option>
<option value="heading 4">heading 4</option>
<option value="heading 5">heading 5</option>
<option value="address">address</option>
<option value="formatted">formatted</option>
<option value="definition term">definition term</option>
</select>
<select onchange="cmdexec(fontname,this[this.selectedindex].value);">
<option selected>font</option>
<option value="arial">arial</option>
<option value="arial black">arial black</option>
<option value="arial narrow">arial narrow</option>
<option value="comic sans ms">comic sans ms</option>
<option value="courier new">courier new</option>
<option value="system">system</option>
<option value="tahoma">tahoma</option>
<option value="times new roman">times new roman</option>
<option value="verdana">verdana</option>
<option value="wingdings">wingdings</option>
</select>
<select onchange="cmdexec(fontsize,this[this.selectedindex].value);">
<option selected>size</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="10">10</option>
<option value="12">12</option>
<option value="14">14</option>
</select>
</td>
</tr>
<tr>
<td><div class="cbtn" onclick="cmdexec(cut)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="1" vspace=1 align=absmiddle src="images/cut.gif" alt="cut">
</div></td>
<td><div class="cbtn" onclick="cmdexec(copy)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="1" vspace=1 align=absmiddle src="images/copy.gif" alt="copy">
</div></td>
<td><div class="cbtn" onclick="cmdexec(paste)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="1" vspace=1 align=absmiddle src="images/paste.gif" alt="paste">
</div></td>
<td><div class="cbtn" onclick="cmdexec(bold)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="1" vspace=1 align=absmiddle src="images/bold.gif" alt="bold">
</div></td>
<td><div class="cbtn" onclick="cmdexec(italic)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="1" vspace=1 align=absmiddle src="images/italic.gif" alt="italic">
</div></td>
<td><div class="cbtn" onclick="cmdexec(underline)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="1" vspace=1 align=absmiddle src="images/under.gif" alt="underline">
</div></td>
<td><div class="cbtn" onclick="cmdexec(justifyleft)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="1" vspace=1 align=absmiddle src="images/left.gif" alt="justify left">
</div></td>
<td><div class="cbtn" onclick="cmdexec(justifycenter)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="1" vspace=1 align=absmiddle src="images/center.gif" alt="center">
</div></td>
<td><div class="cbtn" onclick="cmdexec(justifyright)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="1" vspace=1 align=absmiddle src="images/right.gif" alt="justify right">
</div></td>
<td><div class="cbtn" onclick="cmdexec(insertorderedlist)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="2" vspace=1 align=absmiddle src="images/numlist.gif" alt="ordered list">
</div></td>
<td><div class="cbtn" onclick="cmdexec(insertunorderedlist)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="2" vspace=1 align=absmiddle src="images/bullist.gif" alt="unordered list">
</div></td>
<td><div class="cbtn" onclick="cmdexec(outdent)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="2" vspace=1 align=absmiddle src="images/deindent.gif" alt="decrease indent">
</div></td>
<td><div class="cbtn" onclick="cmdexec(indent)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="2" vspace=1 align=absmiddle src="images/inindent.gif" alt="increase indent">
</div></td>
<td><div class="cbtn" onclick="forecolor()" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="2" vspace=1 align=absmiddle src="images/fgcolor.gif" alt="forecolor">
</div></td>
<td><div class="cbtn" onclick="cmdexec(createlink)" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="2" vspace=1 align=absmiddle src="images/link.gif" alt="link">
</div></td>
<td><div class="cbtn" onclick="insertimage()" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="2" vspace=1 align=absmiddle src="images/image.gif" alt="image">
</div></td>
<td><div class="cbtn" onclick="save()" onmouseover="button_over(this);" onmouseout="button_out(this);" onmousedown="button_down(this);" onmouseup="button_up(this);">
<img hspace="2" vspace=1 align=left align=absmiddle src="images/save.gif" alt="save">
<font class=txtbtn>save </font>
</div></td>
<td width=200></td>
</tr>
</table>
<iframe width="542" id="idcontent" height="350"></iframe>
<br>
<input type="checkbox" onclick="setmode(this.checked)"> 编辑源代码
