網上的代碼運行框代碼算是比較多的了,隨便搜索一下都一大堆的,但是沒有找到一合適的,只有自己折騰一個簡單的,注本文介紹的方法需要引用jquery庫
首頁在dedecms模板中引入jquery文件,如果沒有你可以去jquery官網下載
在dedecms模板中添加
<script src="http://static.qmtx3.com/qmtx3static/jquery1.7.2.js" type="text/javascript"></script>02<script type="text/javascript">03$(function() {04 $('.runhtml').each(function(index, element) {05 $(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>')06 });07 $('div').delegate('.runHtmlBtn', 'click',function(){08 var newwin = window.open('about:blank');09 newwin.document.write($(this).parent().prev().val());10 });11});12</script> 代碼事例:
源代碼如下:
<div class="runHtml">2 12345673</div>
代碼說明:這段代碼會將頁面中class里包含runHtml樣式的層全部變成代碼運行框,如上面代碼會把.runHtml這個div變成textarea代碼運行框,可能有的朋友會問為什么不直接用textarea而用div,其實這點是出于對seo搜索引擎優化來做的,因為textarea里的內容蜘蛛是不會去抓取的,由于技術類文章代碼段所占的篇幅比較大,有些可能整篇可能就是代碼。
該方法并沒有什么技術含量,唯一一點好處就是一個頁面可以很方便的實現多個代碼運行框,常見的代碼運行框一般有復制,另存為功能,由于JS的復制功能兼容性并不友好,如果你想折騰復制功能可以從swf實現入手,至于另存為的功能我們也不知道怎么做好兼容性,希望知道的朋友留言告知
新聞熱點
疑難解答