网上的代码运行框代码算是比较多的了,随便搜索一下都一大堆的,但是没有找到一合适的,只有自己折腾一个简单的,注本文介绍的方法需要引用jquery库
首页在织梦dedecms模板中引入jquery文件,如果没有你可以去jquery官网下载 。
在织梦dedecms模板中添加
<script src="http://static.qmtx3.com/qmtx3static/jquery1.7.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('.runHtml').each(function(index, element) {
$(this).after('<textarea class="runHtmlTextarea" style="width:80%; min-height:150px; padding:10px; border:solid 1px #ccc; clear:both; display:block;">' + $(this).html() + '</textarea><p><input type="button" class="runHtmlBtn" value="运行"> <i class="runHtmlTips">你可以修改代码后再运行查看结果!</i></p>')
});
$('div').delegate('.runHtmlBtn', 'click',function(){
var newwin = window.open('about:blank');
newwin.document.write($(this).parent().prev().val());
});
});
</script>
代码事例:
本dedecms代码框制作方法,
源代码如下:
<div class="runHtml">
本dedecms代码框制作方法,
</div>
代码说明:这段代码会将页面中class里包含runHtml样式的层全部变成代码运行框,如上面代码会把.runHtml这个div变成textarea代码运行框,可能有的朋友会问为什么不直接用textarea而用div,其实这点是出于对seo搜索引擎优化来做的,因为textarea里的内容蜘蛛是不会去抓取的,由于技术类文章代码段所占的篇幅比较大,有些可能整篇可能就是代码。
该方法并没有什么技术含量,唯一一点好处就是一个页面可以很方便的实现多个代码运行框,常见的代码运行框一般有复制,另存为功能,由于JS的复制功能兼容性并不友好,如果你想折腾复制功能可以从swf实现入手 。
(责任编辑:好模板) |