• 在线编辑器的原理简单示例


    很多论坛都使用在线编辑器,一直好奇它们是如何实现的,在网上搜索了一些资料,终于有所收获,纠正了资料中的一些错误,凑了一个可以直接demo的例子:

    -----------------------------------------------------------------------------------------------------------------------------------------------------

    <IFRAME id="HtmlEdit" style="WIDTH: 100%; HEIGHT: 296px" marginWidth="0" marginHeight="0"></IFRAME>
    <script language="javascript">                                                                                                                                          
    var editor;
    editor = document.getElementById("HtmlEdit").contentWindow;

    //但是IE与FireFox有点不同,为了兼容FireFox,所以必须创建一个新的document。
    editor.document.open();
    editor.document.writeln('<html><body></body></html>');
    editor.document.close();
    //只需键入以下设定,iframe立刻变成编辑器。
    editor.document.designMode = 'On';

    //字体特效 - 加粗方法一
    function addBold()
    {
        editor.focus();
        //所有字体特效只是使用execComman()就能完成。
        editor.document.execCommand("Bold", false, null);
        alert(editor.document.body.innerHTML);
    }
    </script>
    <input type=button onclick='addBold()'value='粗体'/>

    -------------------------------------------------------------------------------

    将上面代码拷贝并保存为html文件,运行即可见效果,最重要的是下面两句:

    editor.document.designMode = 'On';  //用这句打开iframe窗口的编辑模式
    editor.document.execCommand("Bold", false, null);  //用这句对窗口中选中的文字进行加粗操作

    document.execCommand命令用法网上可搜出一大堆,不再赘述。

  • 相关阅读:
    ADO 缓存更新
    DBNavigator中把insert变为append
    JQuery 选择器
    VS2013默认打开HTML文件没有设计视图
    windows 关机 重启 命令
    java如何计算两个日期之间相差多少天?
    java的list集合操作List<T>转化List<Long>
    ExcelUtil工具类
    oracle的START WITH CONNECT BY PRIOR用法
    oracle的with as用法
  • 原文地址:https://www.cnblogs.com/zzyyxxjc/p/7845092.html
Copyright © 2020-2023  润新知