📄 inedit.htm
字号:
<HEAD>
<META http-equiv="Content-Type" content="text/html;Charset=gbk">
<SCRIPT>
var L_DEFAULTHTML_TEXT="<DIV></DIV>";
function _CFont(szDef,szText,bSymbol){
return new Array(szDef,szText,bSymbol);
};
defaultFonts=new Array();
defaultFonts[0]=_CFont("Geneva,Arial,Sans-serif","Arial",false);
defaultFonts[1]=_CFont("Arial Black,Geneva,Arial,Sans-serif","Arial Black",false);
defaultFonts[2]=_CFont("Courier New,Courier,Monospace","Courier New",false);
defaultFonts[3]=_CFont("Times New Roman,Times,Serif","Times New Roman",false);
defaultFonts[4]=_CFont("Verdana,Geneva,Arial,Sans-serif","Verdana",false);
defaultFonts[5]=_CFont("Lucida Handwriting,Cursive","Lucida Handwriting",false);
defaultFonts[6]=_CFont("Garamond,Times,Serif","Garamond",false);
defaultFonts[7]=_CFont("Webdings","Webdings",true);
defaultFonts[8]=_CFont("Wingdings","Wingdings",true);
defaultFonts[9]=_CFont("宋体","宋体",false);
defaultFonts[10]=_CFont("黑体","黑体",false);
defaultFonts[11]=_CFont("细明体","细明体",false);
var L_TOOLBARGIF_TEXT="rte.gif";
var aSizes=new Array(25,25,25,8,25,25,8,25,25,25,8,52,52,52,8,25,25,25,8,25,25,25,8,25,25,25,25,8,25);
var isIE4=(navigator.appVersion.indexOf("MSIE 4")>0)
//替换HTML字符
function replacestr(htmlstr)
{
htmlstr = replace(htmlstr,""", "\"\"") //双引号
htmlstr = replace(htmlstr,"<", "<")
htmlstr = replace(htmlstr,">", ">")
htmlstr = replace(htmlstr,"&", "&")
return htmlstr
}
/*******************************/
//公共方法: setHTML
//参数: szHTML:文本
//设置编辑器文本的内容
/******************************/
function setHTML(szHTML)
{
//szHTML=replacestr(szHTML)
if(szHTML=="")szHTML=L_DEFAULTHTML_TEXT
if(g_state.bMode)
{
idEditbox.document.body.innerHTML=szHTML
}
else
{
alert(g_state.bMode);
idEditbox.document.body.innerText=szHTML
}
if(g_state.bLoaded)setSelection(true)
}
/*******************************/
//公共方法: getHTML
//返回: 编辑器内容文本
//获取编辑器文本的内容
/******************************/
function getHTML()
{
var szRet=(g_state.bMode?_CUtil_TrimCR(_CUtil_CleanHTML()):_CUtil_TrimCR(idEditbox.document.body.innerText))
return szRet
}
/*******************************/
//公共方法: getPureText
//返回: 编辑器内容纯文本
//获取编辑器文本的内容
/******************************/
function getPureText()
{
var szRet=idEditbox.document.body.createTextRange();
return szRet.text;
}
/*******************************/
//方法: getText
//获取编辑器文本
/******************************/
function getText(){
var szRet=""
if(g_state.bMode)
szRet=idEditbox.document.body.innerText
else{
setMode(true)
szRet=idEditbox.document.body.innerText
setMode(false)
}
return szRet
}
/*******************************/
//方法: getBody
//返回编辑器编辑区的body对象
/******************************/
function getBody()
{
var oRet=idEditbox.document.body
return oRet
}
/*******************************/
//方法: getWidth
//返回编辑器offsetWidth对象
/******************************/
function getWidth()
{
var nRet=document.body.offsetWidth
return nRet
}
/*******************************/
//方法: getWidth
//返回编辑器offsetHeight对象
/******************************/
function getHeight()
{
var nRet=document.body.offsetHeight
return nRet
}
/*******************************/
//方法: insertHTML
//插入对象的HTML文本
/******************************/
function insertHTML(szHTML)
{
if (!g_state.hasFocus) return;
var sType
var sel=g_state.GetSelection()
sType=sel.type
if(g_state.bMode)
{
if(sType=="Control")
sel.item(0).outerHTML=szHTML
else
{
sel.pasteHTML(szHTML)
idEditbox.document.body.focus()
g_state.hasFocus=true
}
}
else
sel.text=szHTML
g_state.selection=null
}
/*******************************/
//方法: appendHTML
//添加对象的HTML文本
/******************************/
function appendHTML(szHTML){
if(g_state.bMode)
idEditbox.document.body.insertAdjacentHTML("beforeEnd",szHTML)
else
idEditbox.document.body.insertAdjacentText("beforeEnd",szHTML)
}
/*******************************/
//方法: setBGColor
//设置编辑器背景色
/******************************/
function setBGColor(szValue)
{
g_state.bgColor=szValue
idEditbox.document.body.bgColor=g_state.bgColor
}
/*******************************/
//方法: setSelection
//保存编辑器中用户所选高亮的部分
/******************************/
function setSelection(bDir){
var tr=idEditbox.document.body.createTextRange()
tr.collapse(bDir)
tr.select()
g_state.SaveSelection()
}
/*******************************/
//方法: setDefaultStyle
//设置编辑器样式
/******************************/
function setDefaultStyle(szValue)
{
g_state.css=szValue
if(g_state.bMode)
idEditbox.document.body.style.cssText=g_state.css
}
/*******************************/
//方法: setSkin
//设置编辑器SKIN样式
/******************************/
function setSkin(szSkin)
{
if(szSkin==null)
document.styleSheets.skin.cssText=g_state.defaultSkin
else
document.styleSheets.skin.cssText=szSkin
document.styleSheets.skin.disabled=false
}
/*******************************/
//方法: setToolbar
//设置编辑器功能条显示属性
/******************************/
function setToolbar(id,g_state)
{
var el=document.all[id]
if(el)
el.style.display=(g_state)?"":"none"
if(id=="tbmode"){
_setSize()
}
}
/*******************************/
//方法: setMode
//设置编辑器模式
/******************************/
function setMode(bMode)
{
if(bMode!=g_state.bMode){
g_state.bMode=bMode
var objBody=idEditbox.document.body
if(!bMode&&!g_state.bMode)
{
objBody.bgColor=objBody.style.cssText="#FFFFFF"
if(g_state.customButtons)
idStandardBar.style.display="none"
else
idToolbar.style.display="none"
objBody.innerText=idEditbox.document.body.innerHTML
objBody.className="textMode"
}
if((bMode)&&(g_state.bMode))
{
setDefaultStyle(g_state.css)
setBGColor(g_state.bgColor)
objBody.className=idStandardBar.style.display=idToolbar.style.display=""
objBody.innerHTML=idEditbox.document.body.innerText
}
_setSize()
setSelection(true)
}
return bMode
}
/*******************************/
//方法: _Format
//编辑功能实现
/******************************/
function _Format(szHow,szValue){
if (!g_state.hasFocus) return;
var oSel=g_state.GetSelection()
var sType=oSel.type
var oTarget=(sType=="None"?idEditbox.document:oSel)
var oBlock=(oSel.parentElement!=null?_CUtil_GetBlock(oSel.parentElement()):oSel.item(0))
switch(szHow)
{
case "Undo":
case "Redo":
idEditbox.document.execCommand(szHow)
break
case "Justify":
if(oBlock)
{
oBlock.style.textAlign=""
if(((oBlock.tagName=="TABLE")||(oBlock.tagName=="IMG"))&&(("left"==oBlock.align)&&("Left"==szValue))){
oBlock.align=""
break;
}
oBlock.align=szValue
if((oBlock.tagName=="HR")||((oBlock.tagName=="IMG")&&szValue!="Center"))break;
}
szHow=szHow+szValue
szValue=""
default:
oTarget.execCommand(szHow,false,szValue)
//debug
//alert(idEditbox.document.body.innerHTML)
break
}
g_state.RestoreSelection()
return true
}
/*******************************/
//方法: _pageReady
//编辑器编辑区初始化
/******************************/
function _pageReady()
{
idEditbox.document.body.onblur=idEditbox.onblur=g_state.SaveSelection
idEditbox.document.onkeydown=_Editor_KeyDownHandler
idEditbox.document.onmousedown=_Editor_ClickHandler
idEditbox.document.ondblclick=_Editor_DblClickHandler
idEditbox.document.body.oncontextmenu=new Function("return false")
//qiuchun 注释:在JSP环境中,下面的访问为非法,可能是基于安全性考虑
/*if(g_state.szSearch!="")idPopup.document.domain=idEditbox.document.domain=document.domain=g_state.szSearch
else{
g_state.szSearch=_CUtil_DomainSuffix(location.hostname)
if(g_state.szSearch!="")idPopup.document.domain=idEditbox.document.domain=document.domain=parent.document.domain=g_state.szSearch
}*/
if(document.styleSheets.skin.disabled)setSkin(null)
_setSize()
idEditor.style.visibility=""
g_state.bLoaded=true
// var tr=idEditbox.document.body.createTextRange()
// tr.select()
// g_state.SaveSelection()
// setSelection(false)
setBGColor(g_state.bgColor)
}
/*******************************/
//方法: _initEditor
//初始化编辑器
/******************************/
function _initEditor(){
g_state=new _CState()
window.onresize=_setSize
var sz=""
sz+="<STYLE>A{text-decoration:none}\nTD{font-size:14.9px}\n.textMode{border-top: 1px black solid;font-size:14.9px}\n.NOBORDER TD{border:1px gray solid}BODY{border:1px black solid;border-top:none;font-size:14.9px}</STYLE><BODY ONCONTEXTMENU=\"return false\">"+L_DEFAULTHTML_TEXT+"</BODY>"
_CPopup_Init()
idEditbox.document.designMode="on"
idEditbox.document.open("text/html","replace")
idEditbox.document.write(sz)
idEditbox.document.close()
setTimeout("_pageReady()",100)
}
/*******************************/
//方法: _Editor_ClickHandler
//编辑器onmousedown句柄
/******************************/
function _Editor_ClickHandler(){
g_state.hasFocus=true
g_state.selection=null
}
/*******************************/
//方法: _Editor_KeyDownHandler
//编辑器onkeydown句柄
/******************************/
function _Editor_KeyDownHandler(){
g_state.hasFocus=true
var ev=this.parentWindow.event
if((ev.keyCode==78||ev.keyCode==72)&&ev.ctrlKey){
if(ev.keyCode==78)
window.open(parent.location)
ev.keyCode=0;ev.returnValue=false
}
if(ev.keyCode==9)
{g_state.SaveSelection()}
else
g_state.selection=null
if (ev.keyCode==70&&ev.ctrlKey)
{
_doSearch();
//_CPopup_Show("Search")
ev.keyCode=0;ev.returnValue=false;
}
}
var blnIsNew = false;
var strSearch = '';
var sBookMark = '';
var oRange = null;
var bRange = null;
var oWhole=null;
var intStart=0;
var intEnd=0;
var xRange = null;
function _doSearch()
{
xRange = idEditbox.document.body.createTextRange();
oWhole=_CUtil_TrimCR(xRange.text);
oRange = xRange.duplicate();
bRange = xRange.duplicate();
_Search2("",parseInt(idEditbox.document.body.innerText.length,10),4);
}
function _Search2(input,iScope,iFlag)
{
if (input=="")
input=window.prompt("查找(注意:文档中如含有表格,图片等元素,查找定位可能会出现误差!)\n请在下面的输入框中输入查找内容:","");
else
input=window.prompt("查找(注意:文档中如含有表格,图片等元素,查找定位可能会出现误差!)\n请在下面的输入框中输入查找内容:",input);
var strInput = input;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -