当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 一个符号插入器 中用到的js代码

Javascript
javascript 写类方式之九
javascript 写类方式之十
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
jquery BS,dialog控件自适应大小
javascript 面向对象思想 附源码
js 日期转换成中文格式的函数
JavaScript 对象、函数和继承
JavaScript 解析读取XML文档
javascript获取表格 td 中的内容
javascript xml为数据源的下拉框控件
jQuery 1.3 和 Validation 验证插件1.5.1
javascript 字符 Escape,encodeURI,encodeURIComponent
jquery text,radio,checkbox,select操作实现代码
JavaScript 继承的实现
JS 数组 移除 实现代码
javascript eval()应用实例 select
javascript 焦点的两个问题
JS 巧妙获取剪贴板数据 Excel数据的粘贴
Jquery 组合form元素为json格式,asp.net反序列化
window.onload 加载完毕的问题及解决方案(上)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 283 ::
收藏到网摘: n/a

/**
* @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 ;
}
}
}