一个符号插入器 中用到的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 相关文章推荐
网站页面自动跳转实现方法PHP、JSP(下)
Aug 01 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
jquery如何把数组变为字符串传到服务端并处理
Apr 30 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
Feb 26 Javascript
jQuery找出网页上最高元素的方法
Mar 20 Javascript
jQuery插件实现可输入和自动匹配的下拉框
Oct 24 Javascript
jQuery.Validate表单验证插件的使用示例详解
Jan 04 Javascript
ReactJs设置css样式的方法
Jun 08 Javascript
React中嵌套组件与被嵌套组件的通信过程
Jul 11 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
Aug 24 Javascript
微信小程序全局变量的设置、使用、修改过程解析
Sep 24 Javascript
Vue.js暴露方法给WebView的使用操作
Sep 07 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
PHP获取当前日期和时间及格式化方法参数
2015/05/11 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
DEFER怎么用?
2006/07/01 Javascript
jQuery select的操作实现代码
2009/05/06 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
javascript观察者模式实现自动刷新效果
2017/09/05 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python单链表实现代码实例
2013/11/21 Python
python实现上传下载文件功能
2020/11/19 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
云冈石窟导游词
2015/02/04 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
失恋33天观后感
2015/06/11 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python
Java实现多文件上传功能
2021/06/30 Java/Android
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript