一个符号插入器 中用到的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 相关文章推荐
二级域名或跨域共享Cookies的实现方法
Aug 07 Javascript
jquery $.ajax相关用法分享
Mar 16 Javascript
用JavaScript实现类似于ListBox功能示例代码
Mar 09 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
Aug 27 Javascript
jquery实现倒计时功能
Dec 28 Javascript
基于Vue实现timepicker
Apr 25 Javascript
JS实现微信摇一摇原理解析
Jul 22 Javascript
Mac下安装vue
Apr 11 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
May 31 Javascript
浅谈webpack4 图片处理汇总
Sep 12 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
Sep 15 Javascript
移动端JS实现拖拽两种方法解析
Oct 12 Javascript
【消息提示组件】,兼容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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
php中curl使用指南
2015/02/05 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
jquery获取div距离窗口和父级dv的距离示例
2013/10/10 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
Python3多线程爬虫实例讲解代码
2018/01/05 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
Python微信操控itchat的方法
2019/05/31 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
TensorFlow实现自定义Op方式
2020/02/04 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
意大利网上购书网站:Libraccio.it
2021/02/03 全球购物
Linux文件系统类型
2012/02/15 面试题
会走路的树教学反思
2014/02/20 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
离婚协议书应该怎么写
2014/10/12 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
Windows server 2016服务器基本设置
2022/08/14 Servers