📄 wordpad.js
字号:
<!--
var m_textRange = null;
var m_iDoc = null;
var wordPad = null;
var textPad = null;
var htmlSource= null;
var C_ReadOnlyError = "文书不在编辑状态!";
var m_FormatMenu = new Array(
"<h1>标题一</h1>,,,,,h1",
"<h2>标题二</h2>,,,,,h2",
"<h3>标题三</h3>,,,,,h3",
"<h4>标题四</h4>,,,,,h4",
"<h5>标题五</h5>,,,,,h5",
"<h6>标题六</h6>,,,,,h6",
"<P>正文</P>,,,,,P"
);
var m_FontMenu = new Array(
"<font face='宋体'>宋体</font>,,,,,宋体",
"<font face='黑体'>黑体</font>,,,,,黑体",
"<font face='楷体'>楷体</font>,,,,,楷体",
"<font face='仿宋'>仿宋</font>,,,,,仿宋",
"<font face='Arial'>Arial</font>,,,,,Arial",
"<font face='Times New Roman'>Times New Roman</font>,,,,,Times New Roman"
);
var m_InsertMenu = new Array(
"插入表格...,,,,/images/table.gif,table",
"-,,,,,",
"插入删除标记...,,,,/images/delete.gif,delMark",
"去除删除标记...,,,,,removeDelMark"
);
function onToolbarClick()
{
try
{
var id = event.srcElement.id;
if (id != "Print")
trueThrow(getReadOnly() == "true", C_ReadOnlyError);
if (event.srcElement.tagName == "IMG")
{
m_iDoc.execCommand(id);
if (wordPad.style.display == "inline")
wordPad.focus();
}
}
catch (e)
{
showError(e);
}
}
function onToolbarMouserOver()
{
var obj = event.srcElement;
if (obj.tagName == "IMG")
{
obj.oldClassName = obj.className;
obj.className = "mouseOver";
}
else
if (obj.tagName == "LABEL")
{
obj.oldClassName = obj.className;
obj.className = "splitMouseOver";
}
}
function onToolbarMouserOut()
{
var obj = event.srcElement;
if (obj.tagName == "IMG")
obj.className = obj.oldClassName;
else
if (obj.tagName == "LABEL")
obj.className = obj.oldClassName;
}
function onTextFormatClick()
{
try
{
trueThrow(getReadOnly() == "true", C_ReadOnlyError);
m_textRange = m_iDoc.getSelectionRange();
showMenu(menuObject, txtFormat, m_FormatMenu, onTextFormatChange, 0, 8);
}
catch(e)
{
showError(e)
}
}
function onTextFontClick()
{
try
{
trueThrow(getReadOnly() == "true", C_ReadOnlyError);
m_textRange = m_iDoc.getSelectionRange();
/*
var fonts = dlgHelper.fonts;
var fontMenuArray = new Array(fonts.count - 1);
for (var i = 1; i < fonts.count; i++)
{
var strFontName = fonts(i);
fontMenuArray[i - 1] = "<font face='" + strFontName + "'>" + strFontName + "</font>,,,,," + strFontName;
}
showMenu(menuObject, txtFont, fontMenuArray, onTextFontChange, 0, 8);
*/
showMenu(menuObject, txtFont, m_FontMenu, onTextFontChange, 0, 8);
}
catch(e)
{
showError(e);
}
}
function onInsertObjectClick()
{
try
{
trueThrow(getReadOnly() == "true", C_ReadOnlyError);
if (wordPad.style.display == "inline")
{
if (!wordPad.hasFocus)
wordPad.focus();
m_textRange = m_iDoc.getSelectionRange();
showMenu(menuObject, insertObjImg, m_InsertMenu, onInsertObjectChange, 0, 8);
}
}
catch(e)
{
showError(e);
}
}
function focusAndCallback(func)
{
if (wordPad.style.display == "inline")
{
wordPad.focus();
m_textRange.select();
if (func != null)
func();
}
}
function onTextFormatChange()
{
try
{
trueThrow(getReadOnly() == "true", C_ReadOnlyError);
m_iDoc.execCommand("FormatBlock", null, "<" + event.menuData + ">");
formatCaption.dataFld = event.menuData;
formatCaption.value = event.menuText;
}
catch(e)
{
showError(e);
}
}
function onTextFontChange()
{
try
{
trueThrow(getReadOnly() == "true", C_ReadOnlyError);
m_iDoc.execCommand("FontName", null, event.menuData);
fontCaption.value = event.menuText;
}
catch(e)
{
showError(e);
}
}
function insertTable()
{
var sFeature = "dialogWidth:300px; dialogHeight:200px;center:yes;help:no;resizeble:no;scroll:no;status:no";
var xmlDoc = showModalDialog("tableDesign.htm", null, sFeature);
if (xmlDoc != null)
{
var strHTML = getTableHTMLFromXML(xmlDoc);
m_textRange.select();
m_textRange.pasteHTML(strHTML);
}
}
function removeTag(strHTML, strTag)
{
var strBeginTag = "<" + strTag + ">";
var strEndTag = "</" + strTag + ">";
var reBegin = new RegExp(strBeginTag, "ig");
var nBegin = strHTML.search(reBegin);
var reEnd = new RegExp(strEndTag, "ig");
var nEnd = strHTML.search(reEnd);
if (nBegin >= 0)
{
if (nEnd >= 0)
{
strHTML = strHTML.replace(reBegin, "");
strHTML = strHTML.replace(reEnd, "");
}
else
strHTML = strHTML.replace(reBegin, "") + strBeginTag;
}
else
if (nEnd >= 0)
{
strHTML = strEndTag + strHTML.replace(reEnd, "");
}
return strHTML;
}
function insertDelMark()
{
m_textRange.select();
m_textRange.pasteHTML("<DEL>" + m_textRange.text + "</DEL>");
}
function removeDelMark()
{
m_textRange.select();
var strHTML = removeTag(m_textRange.htmlText, "DEL");
m_textRange.execCommand("DELETE", false, null);
m_textRange.pasteHTML(strHTML);
}
function onInsertObjectChange()
{
if (m_iDoc.selection.type != "Control")
{
switch (event.menuData)
{
case "table": insertTable();
break;
case "delMark":
insertDelMark();
break;
case "removeDelMark":
removeDelMark();
break;
case "signture":insertSignture();
break;
case "seal": insertSeal()
break;
}
}
}
function getTableHTMLFromXML(xmlDoc)
{
var nColumns = parseInt(xmlDoc.selectSingleNode(".//Columns").text);
var nRows = parseInt(xmlDoc.selectSingleNode(".//Rows").text);
var strHTML = "<table border=1 style='border-left:1px solid black;border-right:1px solid black;border-top:1px solid black;border-bottom:1px solid black;'>";
for (var i = 0; i < nRows; i++)
{
strHTML += "<tr>";
for (var j = 0; j < nColumns; j++)
{
strHTML += "<td>表格项</td>";
}
strHTML += "</tr>";
}
strHTML += "</table>";
return strHTML;
}
function showMenu(oMenu, eleAlign, menuItems, callBackFunc, xOffset, yOffset)
{
oMenu.onmenuclick = onMenuClick;
oMenu.callback = callBackFunc;
oMenu.buildMenu(menuItems);
oMenu.show(absLeft(eleAlign) + xOffset, absTop(eleAlign) + eleAlign.offsetHeight + yOffset);
}
function onMenuClick()
{
focusAndCallback(menuObject.callback);
}
function setWordPadFocus()
{
wordPad.focus();
}
function saveDoc()
{
window.returnValue = getContent();
window.close();
}
function cancelDoc()
{
window.close();
}
function onDocumentLoad()
{
var oMyObject = window.dialogArguments;
var content = "";
if (oMyObject && oMyObject.ArgSrt)
content = oMyObject.ArgSrt;
m_iDoc = iFrameDocument("editFrame");
wordPad = m_iDoc.all("wordPad");
textPad = m_iDoc.all("textPad");
htmlSource = m_iDoc.all("htmlSource");
document.getContent = getContent;
document.setContent = setContent(content);
document.setReadOnly = setReadOnly;
document.getReadOnly = getReadOnly;
document.setWordPadFocus = setWordPadFocus;
for (var i = 0; i < toolbar.children.length; i++)
{
var obj = toolbar.children(i);
if (obj.tagName == "IMG")
obj.align = "top";
if (obj.id.length > 0)
{
if (obj.onclick == null)
obj.onclick = onToolbarClick;
obj.onmouseover = onToolbarMouserOver;
obj.onmouseout = onToolbarMouserOut;
}
}
}
function getContent()
{
return wordPad.innerHTML;
}
function setContent(strDocContent)
{
wordPad.innerHTML = strDocContent;
if (wordPad.innerHTML.length > 0)
{
var nDocWidth = document.body.offsetWidth;
var nDivWidth = wordPad.offsetWidth;
wordPad.parentElement.scrollLeft = Math.ceil((nDivWidth - nDocWidth) / 2);
}
}
function switchPad()
{
if (textPad.style.display == "none")
{
htmlSource.innerText = wordPad.innerHTML;
textPad.style.display = "inline";
wordPad.style.display = "none";
}
else
{
wordPad.innerHTML = htmlSource.innerText;
textPad.style.display = "none";
wordPad.style.display = "inline";
}
}
function doChangeFontColor()
{
try
{
var selectColor = dlgHelper.ChooseColorDlg();
if (selectColor != null)
{
var sColor = selectColor.toString(16);
if (sColor.length < 6)
{
var sTempString = "000000".substring(0, 6 - sColor.length);
sColor = sTempString.concat(sColor);
}
m_iDoc.execCommand("ForeColor", null, sColor);
}
}
catch(e)
{
showError(e);
}
}
function changeFontSize()
{
m_iDoc.execCommand("FontSize", null,fontSize.value);
}
function setReadOnly( strReadOnly)
{
wordPad.readOnly = strReadOnly;
}
function getReadOnly()
{
var strResult = "false";
if (typeof(wordPad.readOnly) == "undefined")
strResult = "false";
else
strResult = wordPad.readOnly;
return strResult;
}
//-->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -