⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wordpad.js

📁 对web开发很有帮助的
💻 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 + -