<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript">
var edit; //当前选择的文本编辑区域对象
var RangeType; //对象类别
function start() //开始初始化编辑器-编辑区域是Iframe
{
Editor.document.designMode="ON";
Editor.document.open();
Editor.document.write(myTextArea.value);
Editor.document.close();
fnInit()
}
function setFocus() {
Editor.focus(); //编辑器或去焦点
}
function selectRange(){
edit = Editor.document.selection.createRange(); //编辑器的文本选择区域
RangeType = Editor.document.selection.type;
}
//包装文本选定区域的执行命令
function execCommand(command,para) {
setFocus();
selectRange();
if (para=="") //没有参数的情况
edit.execCommand(command)
else
edit.execCommand(command, false, arguments[1]);
Editor.focus();
if (RangeType != "Control") edit.select();
}
//获取或设置文本的格式-字体、字号
function doSelectC(str,el) {
var Index = el.selectedIndex;
if (Index != 0)
{ el.selectedIndex = 0;
execCommand(str,el.options[Index].text);
}
}
//获取或设置当前选定块的格式化标签
function doSelectCl(str,el)
{
var Index = el.selectedIndex;
if (Index != 0)
{ el.selectedIndex = 0;
execCommand(str,"<"+el.options[Index].value+">");
}
}
//初始化
function fnInit(){
for (i=0; i<document.all.length; i++)
document.all(i).unselectable = "off"; //指定不选中任何元素
getSystemFonts();
}
//获取系统字体的方法
function getSystemFonts()
{
var a=dlgHelper.fonts.count;
var fArray = new Array();
var oOption = document.createElement("OPTION");
oOption.text = "字体";
oOption.value = "0";
selectFontName.add(oOption);
//使用DOM方法createElement将字体依次添加到复选列表中
for (i = 1;i < dlgHelper.fonts.count;i++)
{
fArray[i] = dlgHelper.fonts(i);
var oOption = document.createElement("OPTION");
oOption.text = fArray[i];
oOption.Value = i;
selectFontName.add(oOption);
}
}
//格式化,保全script、textarea、xmp、pre和style内容
function formatfor(va) {
var t=va.replace(/\r/g,'');
t = t.replace(/(<(script|textarea|xmp|pre|style).*?>)([^\r]*?)(<\/\2>)/img,
function (){return arguments[1]+arguments[3].replace(/\n/g, "\r")+arguments[4]})
t = t.replace(/\n/g, "");
return t
}
function fontsize(el) //改变字体的方法
{var Index=el.selectedIndex
var addpre="<font size="+el.options[Index].value+">"
if(Index>7)addpre="<font style='font-size:"+el.options[Index].value+"pt'>"
var oSel = Editor.document.selection.createRange()
var sBookmark = oSel.getBookmark()
var oSelhtml=oSel.htmlText
if(oSelhtml!="")
{
//定位选中内容
var conts=oSelhtml
var textLength = Editor.document.body.innerText.length
oSel.moveStart("character", -1*textLength)
var contp=formatfor(oSel.htmlText)
var conta=formatfor(Editor.document.body.innerHTML)
var contpa=''
var partC=""
var partB=""
var partA=""
var m=0
m=conta.indexOf(contp.substr(0,3))
var f=contp.length
for(;f>0;f--)
{if(conta.substr(m,f)==contp.substr(0, f)){contpa=contp.substr(0,f);partC=conta.substr(m+f);break}}
var ko=contp.substr(f)
var kol=ko.length
var ty=conta.substr(m+f,kol)
var hu=""
for(var b=1;b<kol;b++)if(ko.substr(b)==ty.substr(0,kol-b)){hu=ko.substr(b);contpa+=hu;partC=partC.substr(kol-b);break}
var k=contpa.length
cont=conts.replace(/\n/g, "")
var u=cont.length
if(cont==contpa.substr(k-u)){partB=cont;partA=contpa.substr(0,k-u)}else{
for(u=cont.length;u>0;u--)
{if(cont.lastIndexOf(contpa.substr(k-u))!=-1){partB0=contpa.substr(k-u);partA0=contpa.substr(0,k-u);break}}
contt=formatfor(conts)
if(hu!="")if(contt.substr(contt.length-kol)==ko)contt=contt.substr(0,contt.length-kol)+hu
u=contt.length
var youm=contpa.lastIndexOf(contt)
if(youm!=-1){partB=contt;partA=contpa.substr(0,youm);partC=contpa.substr(youm+u)+partC}else{
for(;u>0;u--){if(contt.lastIndexOf(contpa.substr(k-u))!=-1){partB1=contpa.substr(k-u);partA1=contpa.substr(0,k-u);break}}
if(partB1.length>partB0.length){partB=partB1;partA=partA1}else{partB=partB0;partA=partA0}
}
}
if(partB.substr(partB.length-1)=="<"){partB=partB.substr(0,partB.length-1);partC="<"+partC}
if(partB.substr(partB.length-2)=="</"){partB=partB.substr(0,partB.length-2);partC="</"+partC}
//保护textarea、xmp、script和style的内容不被改变
var cook=[]
partA=partA.replace(/(<(script|textarea|xmp|style).*?>)[\s\S]*?<\/\2>/ig,
function (){co=cook.length
cook[co]=arguments[0];return "<cook"+co+">"})
var ook=""
partA=partA.replace(/(<(script|textarea|xmp|style).*?>)[\s\S]*?$/i,
function (){co=cook.length
ook=arguments[2]
cook[co]=arguments[0];return "<cook"+co+">"})
if(ook!=""){fd="(^[\\s\\S]*?<\/"+ook+">)"
jk=new RegExp(fd,["i"])
if(jk.test(partB)){jk.exec(partB)
co=cook.length
cook[co]=RegExp.$1
partB=partB.replace(jk,"<cook"+co+">")}}
partB=partB.replace(/(<(script|textarea|xmp|style).*?>)[\s\S]*?<\/\2>/ig,
function (){co=cook.length
cook[co]=arguments[0];return "<cook"+co+">"})
ook=""
partB=partB.replace(/(<(script|textarea|xmp|style).*?>)[\s\S]*?$/i,
function (){co=cook.length
ook=arguments[2]
cook[co]=arguments[0];return "<cook"+co+">"})
if(ook!=""){fd="(^[\\s\\S]*?<\/"+ook+">)"
jk=new RegExp(fd,["i"])
if(jk.test(partC)){jk.exec(partC)
co=cook.length
cook[co]=RegExp.$1
partC=partC.replace(jk,"<cook"+co+">")}}
partC=partC.replace(/(<(script|textarea|xmp|style).*?>)[\s\S]*?<\/\2>/ig,
function (){co=cook.length
cook[co]=arguments[0];return "<cook"+co+">"})
//处理字体
var dol=[]
var dos=[]
var lon=[]
fd="<FONT([^>]*?)>"
jk=new RegExp(fd,["im"])
while(jk.test(partB)){ce=dol.length
jk.exec(partB)
dol[ce]=RegExp.$1
partB=partB.replace(jk,"<site"+ce+">")
}
ce=dol.length-1
for(;ce>-1;ce--)
{kjc="<site"+ce+">"
fd=kjc+'(.*?)<\/font>'
jk=new RegExp(fd,["im"])
if(jk.test(partB)){dos[dos.length]=ce
jk.exec(partB)
ko3=kjc+RegExp.$1+"</site"+ce+">"
partB=partB.replace(jk,ko3)
}else{lon[lon.length]=ce}
}
partB=partB.replace(/<\/font>/img,"<lonf>")
for(var c=dos.length-1;c>-1;c--)
{
uts=dol[dos[c]]
if(""==(uts.replace(/size=[0-7+]+/i,"").replace(/style=("|')FONT-SIZE: [0-9.]+.*;*("|')/im,"").replace(/[\s\n\r]+/mg,""))){partB=partB.replace("<site"+dos[c]+">","")
partB=partB.replace("</site"+dos[c]+">","")}else{partB=partB.replace("<site"+dos[c]+">","<font"+uts.replace(/ size=[0-7+]+/im,"").replace(/FONT-SIZE: [0-9.]+pt/im,"").replace(/ style=("|');*("|')/im,"")+">")
partB=partB.replace("</site"+dos[c]+">","</font>")}
}
//处理其他标签
var addend=""
var mio=[]
partB=partB.replace(/<([^<> ]*?) [^<>]*?style=[^<>]*?FONT-SIZE: [0-9.]+[^<>]*?>/img,
function (){notv="|select|input|option|object|"
if(notv.indexOf("|"+arguments[1].toLowerCase()+"|")==-1){
op=mio.length
mio[op]=arguments[0]
return "<opis"+op+">"}else{return arguments[0]}})
kba=["h1","h2","h3","h4","h5","h6","pre","button","listing","big","small","tt","code","kbd","samp","td","\/td","caption","\/caption","th","\/th","tr","\/tr","table","\/table","thead","\/thead","tbody","\/tbody","tfoot","\/tfoot"]
for(b in kba){
fd="<("+kba[b]+")[^<>]*?>"
jk=new RegExp(fd,["img"])
partB=partB.replace(jk,
function (){op=mio.length
mio[op]=arguments[0]
return "<opis"+op+">"})
}
//收尾工作
liming=[]
partB=partB.replace(/<(opis|site|lonf)([0-9]*)>/g,
function(){var op=liming.length
if(arguments[1]=="opis"){liming[op]=mio[parseInt(arguments[2])]}
if(arguments[1]=="site"){liming[op]="<font"+dol[parseInt(arguments[2])]+">"}
if(arguments[1]=="lonf"){liming[op]="</font>"}
return "<duan"+op+">"
})
if(liming.length>0){
partB=partB.replace(/^(.+?)(<duan0>)/m,function(){if(""!=arguments[1]){return addpre+arguments[1]+"</font>"+arguments[2]}
else{return arguments[0]}})
var op=liming.length-1
for(var kc=0;kc<op;kc++){
fd="(<duan"+kc+">)(.+?)(<duan"+(kc+1)+">)"
jk=new RegExp(fd,["m"])
partB=partB.replace(jk,
function(){if(""!=arguments[2]){return arguments[1]+addpre+arguments[2]+"</font>"+arguments[3]}
e
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
JAVA SCRIPT基础学习源码 (103个子文件)
按钮1.gif 4KB
3.48 文本编辑器.htm 12KB
2.15 使用按钮控制文本渐变.htm 6KB
1.34 自动滚屏.htm 5KB
1.2 页面自动最大化.htm 5KB
1.32 下雨的页面.htm 4KB
3.18 文本框获取焦点弹出下拉框.htm 3KB
1.31 屏幕式左右拉开页面的效果.htm 3KB
3.27 黑客帝国中的字符下落效果.htm 3KB
1.37 页面打开时的百叶窗效果.htm 2KB
1.28 页面逐渐缩小.htm 2KB
3.30 分行取textarea中的值.htm 2KB
3.25 文字逐个闪亮-霓虹灯效果.htm 2KB
3.20 文字的打字效果.htm 2KB
2.16 翻页效果的公告栏.htm 2KB
1.30 代码测试页面.htm 2KB
3.22 文字滑动.htm 2KB
3.42 始终显示在最顶端的文本.htm 2KB
3.21 文字滚动.htm 2KB
3.32 选取textarea的指定行.htm 2KB
3.17 文本框获取焦点.htm 2KB
3.36 文字的垂直滚动.htm 1KB
3.16 文本框滚动导航.htm 1KB
3.37 文字幻灯片.htm 1KB
3.26 旋转式的变色文字特效.htm 1KB
3.24 荧光效果的文本.htm 1KB
3.35 文本框显示网页中选中的内容.htm 1KB
3.43 JavaScript过滤SQL注入字符.htm 1KB
3.5 首字母变为大写.htm 1KB
3.45 textarea中的文本插入.htm 1KB
3.46 查找两段文本中相同的词句.htm 1KB
3.23 文字跳动特效.htm 1KB
1.9 倒计时载入页面.htm 1KB
1.22 嵌入网页的播放器.htm 1KB
3.8 控制两个文本框只输其一.htm 1KB
3.41 类似安装效果的textarea滚动.htm 1001B
1.38 页面源代码的加密.htm 951B
1.4 页面的后退、刷新、前进.htm 951B
3.38 随机动态文字效果.htm 927B
1.18 自动识别网页类型.htm 901B
3.28 获取表单中文本框的个数.htm 877B
2.12 图片式按钮.htm 851B
2.14 选择不同的列表项就显示不同的按钮.htm 830B
1.36 页面顶部颜色渐变特效.htm 811B
3.9 判断编辑器中是否包含特殊字符.htm 810B
3.12 去除字符串的前后空格.htm 733B
3.44 textarea内实现行的翻页效果.htm 728B
1.33 页面背景颜色渐变.htm 639B
1.20 用JavaScript随机修改页面的标题.htm 591B
2.11 防止按钮连击.htm 580B
1.29 页内跳转.htm 572B
2.3 动态创建按钮.htm 553B
3.3 文字过长的省略号.htm 550B
3.31 自动插入文本.htm 521B
2.8 取得控件的绝对位置.htm 517B
2.17 动态设置控件的事件.htm 514B
1.5 保护网页源代码.htm 501B
1.26 页面的地震效果.htm 495B
2.5 按钮的嵌入效果.htm 492B
3.29 光标停在文字最后.htm 473B
1.3 页面自动刷新.htm 439B
1.35 在页面中画点.htm 436B
3.47 自动保存网页输出的文本.htm 433B
3.2 限定文本框可输入字符数.htm 428B
2.2 按回车调用登录按钮.htm 422B
3.11 判断字符串中有多少汉字.htm 415B
3.10 判断文本中回车的数量.htm 412B
3.39 实现textarea的自动滚动.htm 404B
1.25 页面被冻结.htm 395B
3.40 使用marquee实现文字上下滚动.htm 394B
2.9 删除时的确认提示.htm 391B
2.4 平面按钮.htm 382B
1.7 打印页面的出错原因.htm 368B
3.1 只带下划线的输入框.htm 362B
1.19 在网页中动态添加Script脚本.htm 361B
3.15 文本框的自动全选.htm 355B
2.1 页面刷新按钮.htm 344B
1.17 以频道模式打开页面.htm 337B
3.13 刷新时清空所有文本框.htm 329B
2.7 定义按钮的热键.htm 318B
1.13 禁止页面加入缓存.htm 288B
1.15 判断页面是否添加了W3C声明.htm 267B
1.6 保护自己的网页不被放入框架.htm 253B
3.33 文本放大镜.htm 250B
3.7 禁止文本框的拷贝和粘贴.htm 236B
1.23 设置指定网页为主页.htm 236B
2.6 按钮改变状态栏信息.htm 233B
3.19 文本框简单的单击效果.htm 219B
3.6 textarea自适应文字行数.htm 218B
2.10 按钮只能单击一次.htm 216B
3.34 文本框的默认输入法.htm 213B
1.11 进入页面同时弹出欢迎对话框.htm 213B
1.8 当前网页调用其他网页.htm 211B
1.16 屏蔽网页中的脚本.htm 209B
3.14 随意改变大小的文本框.htm 206B
1.24 使用JavaScript传递页面参数.htm 202B
2.13 文字显示在按钮底部.htm 195B
3.4 输出26个英文字母.htm 190B
1.14 离开页面时弹出对话框.htm 184B
1.21 判断网页加载完毕.htm 183B
共 103 条
- 1
- 2
资源评论
yanhuali888
- 粉丝: 0
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功