一个符号插入器 中用到的js代码


Posted in Javascript onSeptember 04, 2007

/**
 * @author tin555
 */
function setHTML(html) {
    ContentEdit.value = html;
        eWebEditor.document.designMode="On";
        eWebEditor.document.open();
        eWebEditor.document.write(html);
        eWebEditor.document.body.contentEditable="true";
        eWebEditor.document.execCommand("2D-Position",true,true);
        eWebEditor.document.execCommand("MultipleSelection", true, true);
        eWebEditor.document.execCommand("LiveResize", true, true);
        eWebEditor.document.close();
    eWebEditor.document.body.onpaste = onPaste ;
    //eWebEditor.document.body.onhelp = onHelp ;
    //eWebEditor.document.body.ondragend = new Function("return doDragEnd();");
    eWebEditor.document.onkeydown = new Function("return onKeyDown(eWebEditor.event);");
    //eWebEditor.document.oncontextmenu=new Function("return showContextMenu(eWebEditor.event);");
    //eWebEditor.document.onmousedown = new Function("return onMouseDown();");
    //eWebEditor.document.onmouseup = new Function("return onMouseUp();");
}

function getHTML() {
    var html;

        html = eWebEditor.document.body.innerHTML;

        if ((html.toLowerCase()=="<p> </p>")||(html.toLowerCase()=="<p></p>")){
            html = "";
        }

    return html;
}

function insertHTML(html) {

    eWebEditor.focus();
    if (eWebEditor.document.selection.type.toLowerCase() != "none"){
        eWebEditor.document.selection.clear() ;
    }
    eWebEditor.document.selection.createRange().pasteHTML(html) ; 
}

function appendHTML(html) {
    if (eWebEditor.document.selection.type.toLowerCase() != "none"){
        eWebEditor.document.selection.clear() ;
    }
        eWebEditor.document.body.innerHTML += html;

}

function doDragEnd(){
    var oSelection = eWebEditor.document.selection.createRange();
    var sRangeType = eWebEditor.document.selection.type;
    if (sRangeType == "Control") {
        var oControl = oSelection.item(0);
        if (oControl.tagName == "IMG"){
            oControl.src = FullPath2SetPath(oControl.src);
        }
    }
    if (sRangeType == "Text") {
        var els = eWebEditor.document.body.getElementsByTagName("IMG");
        var oRngTemp = eWebEditor.document.body.createTextRange();
        for(var i=0;i<els.length;i++){
            oRngTemp.moveToElementText(els(i));
            if (oSelection.inRange(oRngTemp)){
                els(i).src = FullPath2SetPath(els(i).src)
            }
        }
    }

    return true;
}

function onKeyDown(event){
    var n_KeyCode = event.keyCode;
        if (n_KeyCode==13){
                    return false;
        }
}

var oResizing = new Object;
function onMouseDown(){
    oResizing.El = null;
    if (eWebEditor.document.selection.type == "Control") {
        var oControlRange = eWebEditor.document.selection.createRange();
        oResizing.El = oControlRange(0);
        oResizing.W = oResizing.El.style.width;
        oResizing.H = oResizing.El.style.height;
    }

    
}

function GetClipboardHTML() {
    var oDiv = document.getElementById("eWebEditor_Temp_HTML");
    oDiv.innerHTML = "" ;
    var oTextRange = document.body.createTextRange() ;
    oTextRange.moveToElementText(oDiv) ;
    oTextRange.execCommand("Paste") ;

    var sData = oDiv.innerHTML ;
    oDiv.innerHTML = "" ;

    return sData ;
}

function cleanAndPaste( html ) {
    html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
    html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
    html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
    html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
    html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
    html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
    html = html.replace(/ /, " " );

    insertHTML( html ) ;
}
function onPaste() {
        var sHTML = GetClipboardHTML() ;
            var re = /<\w[^>]* class="?MsoNormal"?/gi ;
            if ( re.test(sHTML)){
                if ( confirm("你要粘贴的内容好象是从Word中拷出来的,是否要先清除Word格式再粘贴?") ){
                    cleanAndPaste( sHTML ) ;
                    return false ;
                }
                }
}

Javascript 相关文章推荐
JQuery+Ajax无刷新分页的实例代码
Feb 08 Javascript
js图片轮播特效代码分享
Sep 07 Javascript
分享12个实用的jQuery代码片段
Mar 09 Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
Mar 23 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
Sep 13 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
Mar 28 Javascript
vue+element模态框中新增模态框和删除功能
Jun 11 Javascript
微信小程序自定义组件components(代码详解)
Oct 21 Javascript
浅析vue-router实现原理及两种模式
Feb 11 Javascript
JavaScript实现栈结构Stack过程详解
Mar 07 Javascript
jQuery实现简单弹幕制作
Dec 10 jQuery
【消息提示组件】,兼容IE6/7&amp;&amp;FF2
Sep 04 #Javascript
一个用js实现控制台控件的代码
Sep 04 #Javascript
科讯商业版中用到的ajax空间与分页函数
Sep 02 #Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 #Javascript
给Javascript数组插入一条记录的代码
Aug 30 #Javascript
用javascript实现给出的盒子的序列是否可连为一矩型
Aug 30 #Javascript
Expandable &quot;Detail&quot; Table Rows
Aug 29 #Javascript
You might like
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
php验证码生成代码
2015/11/11 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
JavaScript 创建对象
2009/07/17 Javascript
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
vue之nextTick全面解析
2017/05/17 Javascript
seajs中模块依赖的加载处理实例分析
2017/10/10 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
新闻记者实习自我鉴定
2013/09/19 职场文书
营销人才自我鉴定范文
2013/12/25 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
研讨会通知
2015/04/27 职场文书
2015年环卫工作总结
2015/04/28 职场文书
村官2015年度工作总结
2015/10/14 职场文书