账号通
    

账号  

密码  

1175

查看

0

回复
主题:实现代码运行 复制 保存 的方法 [收藏主题]  
hjr9456 当前离线

108

主题

1

广播

0

粉丝
添加关注
级别:一年级

用户积分:1066 分
登录次数:92 次
注册时间:2009/1/10
最后登录:2015/1/11
hjr9456 发表于:2010/6/10 19:27:00   | 只看该作者 查看该作者主题 楼主 

搞这个问题搞了好长时间

本来以为很简单的 我首先在文章模型字段管理里面增加一个字段,命名为:ks_art_code(代码)

然后我在文章内容页面直接调用 结果发现问题来了

这个字段类型不好选择了 我选择了多行文本 有支持HTML代码和不支持HTML代码两种

我选择不支持HTML

然后添加好了

可是我在添加文章时 在这个字段里添加代码的时候 保存之后 前台调用出来 代码被改了 应该是过滤了

后来检查是KS.G这个函数过滤的 这样代码就不对了 更别说运行了

然后我就换了支持HTML的 结果保存了代码之后 网页全乱了 后台添加文章的界面都不对了 还是不能很好的保存

最后还是换成不支持HTML的多行文本字段类型

然后在KS.Article.asp文件里 把自定义字段添加部分里的KS.G去了 直接获取request.from

这样就解决问题了

 

后来我仔细想想 这样做的话 大家要注意会员投稿了 最好自己写个限制函数 检查一下添加的代码 以做到安全

 

反应的问题:

如果自定义字段不支持HTML 则里面添加的数据 包含一些HTML标签 有的会被过滤

如果自定义字段支持Html 那么加在里面的代码在文章编辑时或者前台调用时会影响网页布局 甚至造成这篇文章无法编辑

 

希望管理员解决一下 可能我说的不太清楚 具体的我可以电话讲一下

 

下面是”代码运行 复制 保存效果“的代码,网上很多。

<table width="700" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><font color="#1A6AA3">代码区:</font></td>
    <td><SCRIPT>
function Preview(obj) {
  var TestWin=open('');
  TestWin.document.write(obj.value);
}
function copyCode(obj) {
    var rng = document.body.createTextRange();
    rng.moveToElementText(obj);
    rng.scrollIntoView();
    rng.select();
    rng.execCommand("Copy");
    rng.collapse(false);
}
function saveCode(obj) {
    var winname = window.open('', '_blank', 'top=10000');
    winname.document.open('text/html', 'replace');
    winname.document.writeln(obj.value);
    winname.document.execCommand('saveas','','shanzi.htm');
    winname.close();
}
</SCRIPT>
<TEXTAREA id=code2 style="border:1px solid #1A6AA3" rows=10 cols=80>{$KS_art_code}</TEXTAREA>
<BR><BUTTON onclick=Preview(code2) style="border:1px solid #1A6AA3">运行代码</BUTTON>&nbsp;<BUTTON onclick=copyCode(code2) style="border:1px solid #1A6AA3">复制代码</BUTTON>&nbsp;<BUTTON onclick=saveCode(code2) style="border:1px solid #1A6AA3">另存代码</BUTTON><br></td>
  </tr>
</table>

 

演示:http://www.zhizhi.cc/?thread-105-1.html

 

 

另外我模仿了 好多名站的导航效果 有需要模仿的 我给模仿

 

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.06250秒 powered by KesionCMS 9.0