|
网上的代码运行框代码算是比较多的了,随便搜索一下都一大堆的,但是没有找到一合适的,只有自己折腾一个简单的,注本文介绍的方法需要引用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实现入手,至于另存为的功能跟版网也不知道怎么做好兼容性,希望知道的朋友留言告知
|
|