当前位置: 首页 > 图文教程 > 网络编程 > ASP > 自己动手,结合javascript和dhtml做一个ubb编辑器

ASP
一段ASP 伪静态代码
asp的程序能实现伪静态化的方法
实例讲解实现抓取网上房产信息的ASP程序
[图]Flash+ASP实现电子互动地图在线标注功能
asp下多个域名后缀同时查询的域名查询系统
用ASP实现对ORACLE数据库的操作
用ASP做的DNS LOOKUP程序
用存储过程、GetRows()、抽取10万条数据的速度测试
asp中利用CSW中文分词组件来实现自己网站的内容关键词自动提取
ASP+JS三级联动下拉菜单[调用数据库数据]
用ASP实现距指定日期的倒记时程序源码
详细讲解ASP脚本循环语句
ASP中如何判断一个字符是不是汉字
将ACCESS转化成SQL2000要注意的问题
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
在ASP中使用均速分页法提高分页速度的方法
ASP+COM不得不注意的问题
ASP生成动态flash的工具与介绍
用asp实现的数据库中存取文件的代码
asp的通用数据分页类

ASP 中的 自己动手,结合javascript和dhtml做一个ubb编辑器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 194 ::
收藏到网摘: n/a

  看到chinaASP论坛的abc code editor了吗?是不是觉得很cool? 说真的,刚见到我还以为是用别的什么语言做的控件呢,
后来才发现没有那么神秘的。前几天做一个商品bbs,客户要求支持ubb,同时也要做一个编辑器。现在我把做ubb的思路给大家讲
一下。
    首先遇到的是界面问题,实际上这个很好解决,只是利用td的onmouseover、onmouseout和onmousedown来实现,具体实现方
法件下面的代码。
    其次就是实现文本效果的问题,这个可以利用textRange的execCommand方法来实现。

   下面我给出一个简单的例子,你可以把它存为一个html文件,直接可以运行,这个例子的功能很简单,就是把编辑框中选定的
文字变为粗体或斜体。其他功能你可以参照这个例子自己加上。
对了,先把这两个图片存下来。

file : ubb.html

<HTML>
<HEAD>

<TITLE>ubb演示</TITLE>
</HEAD>
<BODY>
<br><br>
<table width=300 cellspacing=2 cellpadding=2 border=0  bgcolor=lightgrey>
   <tr>
       <td id=tdBold  onclick=doAction("Bold") onmousedown="DoDown(tdBold );" onmouseover = "On_Mouseover
(tdBold) ;" onmouseout="On_Mouseout(tdBold);">
          <img src="/upload/tech/20091103/20091103101218_f4b9ec30ad9f68f89b29639786cb62ef.gif" width=16 height=16  >
       </td>
       <td id=tdItalic onclick=doAction("Italic") onmousedown="DoDown(tdItalic);" onmouseover
= "On_Mouseover(tdItalic) ;" onmouseout="On_Mouseout(tdItalic);">
          <img src="/upload/tech/20091103/20091103101218_013d407166ec4fa56eb1e1f8cbe183b9.gif" width=16 height=16 >
       </td>
       <td width=268>&nbsp;</td>
   </tr>
   <tr>
       <td colspan=3>
         <iframe id=Editor name=Editor border=0 scroll=no width=300 height=200>
         </iframe>
       </td>
   </tr>
</table>           

</BODY>
</HTML>

<script language=javascript>
  
  //initialize the iframe
  Editor.document .designMode = "On" ;
  Editor.document .open ;
  Editor.document .write ("&nbsp;") ;
  Editor.document .close ;
  Editor.focus ();
  
  function On_Mouseover(thisTD)
    {
      thisTD.style .borderLeft = "1px solid buttonhighlight" ;
      thisTD.style .borderRight = "1px solid buttonshadow";
      thisTD.style .borderTop = "1px solid buttonhighlight";
      thisTD.style .borderBottom = "1px solid buttonshadow";
    }

  function On_Mouseout(thisTD)
    {
      thisTD.style .borderLeft = "" ;
      thisTD.style .borderRight = "";
      thisTD.style .borderTop = "";
      thisTD.style .borderBottom = "";
    }
    
  function DoDown(thisTD)
    {
        thisTD.style .borderLef