一个简单的利用微软ajax技术开发的HTMLEditer
2011-02-15 16:07
627 查看
没啥好写的,都麻木了。就当留个记号吧代码
<script language="jscript">
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~按钮风格,颜色选择~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function button_over(eButton)
{
eButton.style.backgroundColor ="#B5BDD6";
eButton.style.borderColor = "darkblue darkblue darkblue darkblue";
}
function button_out(eButton)
{
eButton.style.backgroundColor = "threedface";
eButton.style.borderColor = "threedface";
}
function button_down(eButton)
{
eButton.style.backgroundColor = "#8494B5";
eButton.style.borderColor = "darkblue darkblue darkblue darkblue";
}
function button_up(eButton)
{
eButton.style.backgroundColor = "#B5BDD6";
eButton.style.borderColor = "darkblue darkblue darkblue darkblue";
eButton = null;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var isHTMLMode=false
var bShow = false
function cmdExec(cmd,opt)
{
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
idContent.focus()
idContent.document.execCommand(cmd,bShow,opt);
bShow=false;
EditTextCopy();
}
function EditTextCopy()
{
document.body.all("tbEditTextName").value = idContent.innerHTML;
}
function setMode(bMode)
{
var sTmp;
isHTMLMode = bMode;
if (isHTMLMode){sTmp=idContent.innerHTML;idContent.innerText=sTmp;}
else {sTmp=idContent.innerText;idContent.innerHTML=sTmp;};
}
function createLink()
{
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
cmdExec("CreateLink");
}
function insertImage()
{
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
bShow=true;
cmdExec("InsertImage");
}
function insertRuler()
{
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
cmdExec("InsertHorizontalRule","");
}
function foreColor()
{
//var arr = showModalDialog("HTMLEdit/selcolor.htm","","font-family:Verdana; font-size:10; dialogWidth:40em; dialogHeight:50em" );
var arr = showModalDialog("http://www.cnblogs.com/UserControl/HTMLEdit/bgcolor.aspx","","font-family:Verdana; font-size:10; dialogWidth:40em; dialogHeight:50em" );
if (arr != null) cmdExec("ForeColor",arr);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function backColor()
{
var arr = showModalDialog("http://www.cnblogs.com/UserControl/HTMLEdit/bgcolor.aspx","","font-family:Verdana; font-size:10; dialogWidth:40em; dialogHeight:50em" );
if (arr != null) cmdExec("BackColor",arr);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~没办法了。好像这个结构不太可能实现undo,redo功能了。有时间可以换成2个iframe翻来翻去的那种做法~~~~~~~~~~~~~~~
function unDo()
{
ftbBody_editor.focus();//只有iframe才支持这个功能,这里只是个层
ftbBody_editor.document.execCommand('undo','',null);
alert("undo");
}
function reDo()
{
ftbBody_editor.focus();//只有iframe才支持这个功能,这里只是个层
ftbBody_editor.document.execCommand('redo','',null);
alert("redo");
}
//计算字数
function FTB_WordCount() {//统计字数
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
idContent.focus();
var d = new Date();
sel = idContent.document.selection.createRange();
sel.pasteHTML(d.toLocaleTimeString());
}
//插入时间
function insertTime() {
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
idContent.focus();
var d = new Date();
sel = idContent.document.selection.createRange();
sel.pasteHTML(d.toLocaleTimeString());
EditTextCopy();
}
//插入日期
function insertDate() {
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
idContent.focus();
var d = new Date();
sel = idContent.document.selection.createRange();
sel.pasteHTML(d.toLocaleDateString());
EditTextCopy();
}
</script>
<script language="jscript">
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~按钮风格,颜色选择~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function button_over(eButton)
{
eButton.style.backgroundColor ="#B5BDD6";
eButton.style.borderColor = "darkblue darkblue darkblue darkblue";
}
function button_out(eButton)
{
eButton.style.backgroundColor = "threedface";
eButton.style.borderColor = "threedface";
}
function button_down(eButton)
{
eButton.style.backgroundColor = "#8494B5";
eButton.style.borderColor = "darkblue darkblue darkblue darkblue";
}
function button_up(eButton)
{
eButton.style.backgroundColor = "#B5BDD6";
eButton.style.borderColor = "darkblue darkblue darkblue darkblue";
eButton = null;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var isHTMLMode=false
var bShow = false
function cmdExec(cmd,opt)
{
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
idContent.focus()
idContent.document.execCommand(cmd,bShow,opt);
bShow=false;
EditTextCopy();
}
function EditTextCopy()
{
document.body.all("tbEditTextName").value = idContent.innerHTML;
}
function setMode(bMode)
{
var sTmp;
isHTMLMode = bMode;
if (isHTMLMode){sTmp=idContent.innerHTML;idContent.innerText=sTmp;}
else {sTmp=idContent.innerText;idContent.innerHTML=sTmp;};
}
function createLink()
{
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
cmdExec("CreateLink");
}
function insertImage()
{
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
bShow=true;
cmdExec("InsertImage");
}
function insertRuler()
{
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
cmdExec("InsertHorizontalRule","");
}
function foreColor()
{
//var arr = showModalDialog("HTMLEdit/selcolor.htm","","font-family:Verdana; font-size:10; dialogWidth:40em; dialogHeight:50em" );
var arr = showModalDialog("http://www.cnblogs.com/UserControl/HTMLEdit/bgcolor.aspx","","font-family:Verdana; font-size:10; dialogWidth:40em; dialogHeight:50em" );
if (arr != null) cmdExec("ForeColor",arr);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function backColor()
{
var arr = showModalDialog("http://www.cnblogs.com/UserControl/HTMLEdit/bgcolor.aspx","","font-family:Verdana; font-size:10; dialogWidth:40em; dialogHeight:50em" );
if (arr != null) cmdExec("BackColor",arr);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~没办法了。好像这个结构不太可能实现undo,redo功能了。有时间可以换成2个iframe翻来翻去的那种做法~~~~~~~~~~~~~~~
function unDo()
{
ftbBody_editor.focus();//只有iframe才支持这个功能,这里只是个层
ftbBody_editor.document.execCommand('undo','',null);
alert("undo");
}
function reDo()
{
ftbBody_editor.focus();//只有iframe才支持这个功能,这里只是个层
ftbBody_editor.document.execCommand('redo','',null);
alert("redo");
}
//计算字数
function FTB_WordCount() {//统计字数
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
idContent.focus();
var d = new Date();
sel = idContent.document.selection.createRange();
sel.pasteHTML(d.toLocaleTimeString());
}
//插入时间
function insertTime() {
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
idContent.focus();
var d = new Date();
sel = idContent.document.selection.createRange();
sel.pasteHTML(d.toLocaleTimeString());
EditTextCopy();
}
//插入日期
function insertDate() {
if (isHTMLMode){alert("请先退出'HTML模式'");return;}
idContent.focus();
var d = new Date();
sel = idContent.document.selection.createRange();
sel.pasteHTML(d.toLocaleDateString());
EditTextCopy();
}
</script>
相关文章推荐
- 利用ajax技术验证数据是否存在的一个简单例子
- ASP.NET 是微软所提供的网站开发技术。程序设计师可以利用这些技术建置一个网站/页应用程序。
- 利用Spring Portlet MVC 开发一个简单的Portlet的全部过程
- (PHP+HTML+JavaScript+Css)一个简单爬虫的开发
- 【iOS开发-50】利用创建新的类实现代码封装,从而不知不觉实践一个简单的MVC实验,附带个动画
- Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld
- AJAX技术在PHP开发中的简单应用
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用AJAX技术开发应用程序实战
- 利用AJAX技术开发应用程序实战
- 教你写一个简单的网页(html网页开发入门)
- 探讨微软ASP.NET AJAX控件开发技术(服务器端)
- 使用 ADD-ON SDK 开发 基于 Html JQuery 和 CSS 的 firefox 插件入门教程1: 创建一个简单的 Add-on
- Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld
- 利用WCF的callback机制开发一个简单的多人游戏模型
- 一个非常简单的分页技术MYSQL+JSP 利用了mysql的LIMIT参数
- AJAX技术在PHP开发中的简单应用
- 通过微软的HTML Help Workshop 利用.html文件 生成简单的chm帮助类的文件
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld