帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
自己动手,结合javascript和dhtml做一个ubb编辑器(附例子代码)
作者: 发布时间:2005-03-12 来源:
    看到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='bold.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='italic.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 .borderLeft   = "1px solid buttonshadow";
        thisTD.style .borderRight  = "1px solid buttonhighlight";
        thisTD.style .borderTop    = "1px solid buttonshadow";
        thisTD.style .borderBottom = "1px solid buttonhighlight";
        thisTD.style .paddingTop    = "2px";
        thisTD.style .paddingLeft   = "2px";
        thisTD.style .paddingBottom = "0px";
        thisTD.style .paddingRight  = "0px";    


    }  
    
  function doAction(str)
    {
      var m_objTextRange = Editor.document .selection.createRange();
      m_objTextRange.execCommand(str) ;
    }    
    

</script>      
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·自己开发的email组件及说明、源文  (2005-03-12)
 ·利用自己开发的vc组件结合asp实现  (2005-03-12)
 ·制作我们自己的Ebay(拍卖系统EN)  (2005-03-12)
 ·制作我们自己的Ebay(拍卖系统EN)  (2005-03-12)
 ·制作我们自己的Ebay(拍卖系统EN)  (2005-03-12)
 ·制作我们自己的Ebay(拍卖系统EN)  (2005-03-12)
 ·制作我们自己的Ebay(拍卖系统EN)  (2005-03-12)
 ·制作我们自己的Ebay(拍卖系统EN)  (2005-03-12)
 ·制作我们自己的Ebay(拍卖系统EN)  (2005-03-12)
 ·用TDC建立自己的数据库格式!  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统