|
今天本站改版基本完成,在做网页特效频道的时候,发现动易本身好象不提供运行脚本的功能。。
见过特效站的朋友都知道,现在一般提供网页特效都是把代码放在一个输入框里,下边可以点运行,查看,保存,复制之类的按钮滴,以前本站的特效频道不是使用的动易CMS,今天既然想把所有的东西整合在一起,所以就把网页特效频道的内容页代码改了一下。嘿嘿。下边做个简单的说明。
首先说明一点,下边将要进行的修改可能只适合于网页特效及类似频道使用,正常的网站栏目一般是用不到的。本方法修改的是内容页模板,所以文章的所有内容都将会在输入框中显示。
打开该频道内容页模板,在head区加入以下代码
|
以下是引用片段: <SCRIPT> //输入框代码开始 function runEx(){ var winEx2 = window.open("", "winEx2", "width=500,height=300,status=yes,menubar=no,scrollbars=yes,resizable=yes");
winEx2.document.open("text/html", "replace"); winEx2.document.write(unescape(event.srcElement.parentElement.children[0].value)); winEx2.document.close(); } function saveFile() { var win=window.open('','','top=10000,left=10000'); win.document.write(document.all.nkcn.innerText) win.document.execCommand('SaveAs','','nkcn.html') win.close(); } </SCRIPT> <SCRIPT language=JavaScript> //复制按钮代码开始 function copy(ob){ var obj=findObj(ob); if (obj) { obj.select();js=obj.createTextRange();js.execCommand("Copy");} } function cut(ob){ var obj=findObj(ob); if (obj) { obj.select();js=obj.createTextRange();js.execCommand("Cut");} } function findObj(n, d) { //v4.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document); if(!x && document.getElementById) x=document.getElementById(n); return x; } //--> </SCRIPT> |
两段js文件的作用里面做了下注释,因为我懒,所以没有做成js文件去调用,嘿嘿。
然后找到模板中文章内容出现的位置,即:调用{$ArticleContent}标签的地方。把{$ArticleContent}替换成
以下是引用片段: <div align=center> <P><TEXTAREA id=nkcn style="BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; BORDER-LEFT: #999999 1px solid; WIDTH: 90%; COLOR: black; BORDER-BOTTOM: #999999 1px solid; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #ffffff" name=textfield rows=20 wrap=VIRTUAL>{$ArticleContent}</TEXTAREA> <BR><BR> <Input onclick=runEx() type=button value=运行代码 name=Button> <Input onclick=nkcn.select() type=button value=全选 name=Button> <Input onclick="copy('textfield')" type=button value=复制代码 name=Button> <Input onclick="nkcn.value=''" type=button value=清空 name=Button> <Input onclick=saveFile(); type=button value=保存代码><BR></P> </div> |
ok,保存该内容页模板,以后你添加的新内容都将出现在输入框里了,而且下边了有运行,复制,保存等功能(其他功能想要自己加一下,比如查看等等)。
顺便说一句,这里的“复制代码”按钮,是一键复制,不需选择内容,如果你不需要这样的复制,可以自己修改,并去掉head区中的下边那段js脚本。
“保存代码”按钮,左下会弹出一个nkcn.html小窗口,这个窗口的文件名在上边是可以修改的,自己调一下就可以了。
效果演示:本站的网页特效频道中任意文章。http://www.nkcn.net/java
|