asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码

时间:2021-05-28

看到很多人需要,就放出来,好东西大家一起分享。
复制代码 代码如下:
Functioncontent_Code(Str)
dimary_String,i,n,n_pos
ary_String=split(Str,"[code]")
n=ubound(ary_String)
Ifn<1then
content_Code=Str
Exitfunction
EndIf
fori=1ton
n_pos=inStr(ary_String(i),"[/code]")
Ifn_pos>0then
ary_String(i)="<br/><textareaclass=gocodeid=runcode"&i&"name=runcode"&i&">"&server.HTMLEncode(left(ary_String(i),n_pos-1))&"</textarea><br/><inputtype=buttonclass=input-codevalue=运行代码onclick=runCode(runcode"&i&")><inputtype=buttonclass=input-codevalue=复制代码onclick=copycode(runcode"&i&")><inputtype=buttonclass=input-codevalue=另存代码onclick=saveCode(runcode"&i&")><spanclass=code-tishi>提示:您可以先修改部分代码再运行</span><br/>"&_
right(ary_String(i),len(ary_String(i))-n_pos-6)
Else
ary_String(i)="[code]"&ary_String(i)
Endif
next
content_Code=join(ary_String,"")
EndFunction

使用方法也很简单:

发表文章时需用使用“运行代码”功能的,主要前后加上

[code][/code]
比如:

复制代码 代码如下:
[code]
<scripttype="text/javascript">
alert("简单吧");
</script>
[/code]
需要注意的是,在显示的页面要进入以下javascript:

复制代码 代码如下:
functionrunCode(obj){
varwinname=window.open('',"_blank",'');
winname.document.open('text/html','replace');
winname.opener=null
winname.document.writeln(obj.value);
winname.document.close();
}

functioncopycode(obj){
varrng=document.body.createTextRange();
rng.moveToElementText(obj);
rng.scrollIntoView();
rng.select();
rng.execCommand("Copy");
rng.collapse(false);
}
functionsaveCode(obj){
varwinname=window.open('','_blank','top=10000');
winname.document.open('text/html','replace');
winname.document.write(obj.value);
winname.document.execCommand('saveas','','code.htm');
winname.close();
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章