在Z-Blog中运行代码[html][/html](纯JS版)

昨天的《利用th,colgroup,col定义表格样式》中,细心点的朋友会发现加了一个“运行代码”的链接:直接点击可以运行Textarea中的内容。其实本身蓝色理想、51JS上也有相关介绍,Z-Blog官方论坛上也有类似帖子,因为自己不太喜欢改asp的内容(将来升级省得替换),所以偷了个小懒,做了一个纯JS版本的。
是否兼容FireFox,还没来得及测试。自己觉得“另存为”和“复制”功能也比较多余,这里也省略掉了。如果需要Fix Bug或者技术支持,欢迎给我留言^_^ 具体代码如下:


代码如下:

function RunCode() { 
  var ele = document.getElementsByTagName("textarea"); 
  for (var i=0; i<ele.length; i++) { 
    with (ele[i]) { 
      if (className != "code") continue; 
      var o = document.createElement("p"); 
      var a = document.createElement("a"); 
      var em = document.createElement("em"); 
      o.className = "runCode"; 
      a.href = "javascript:;"; 
      a.innerHTML = "运行代码"; 
      a.onclick = function() { 
        var win = window.open('', "_blank", ''); 
        win.document.open('text/html', 'replace'); 
        win.document.writeln(this.parentNode.previousSibling.value.replace(/\u00a0/gi, " ")); 
        win.document.close(); 
      } 
      em.innerHTML = "(提示:您可以先修改部分代码再运行)"; 
      o.appendChild(a); 
      o.appendChild(em); 
      insertAdjacentElement("afterEnd",o); 
    } 
  } 
}

目前“运行代码”功能是放在Textarea下方的,如果想放在上方,改动以下代码即可。
insertAdjacentElement("afterEnd",o);
this.parentNode.previousSibling.value
其中的replace(/\u00a0/gi, " ")主要是为了将被c_function.asp文件替换的空格( )和Tab(  )还原回来。使用方面当然是在所需页面onload进来即可,有多少个className为code的Textarea,就有多少个“运行代码”功能,够简单吧?

(0)

相关推荐

  • 在spyder IPython console中,运行代码加入参数的实例

    在路径后面加入args = '参数1,[参数,]',如下 runfile('/home/liuxiaodong/image_stream/image.py', args = '0', wdir='/home/liuxiaodong/image_stream') 或者直接在ipython中输入要执行的脚本加参数 补充知识:ipython 下命令行参数如何传入 1:问题描述 使用spyder运行Python程序时,有时会遇到程序本身需要有命令行参数(程序内有arg[])传入才能运行的情况.我之前一般

  • 给blog加上运行代码功能

    在和尚那里看到他给z-blog加上了运行代码功能,放了几天假,有些怕怕再这样闲下去会生锈的,在补了一个半小时的觉之后,也给blog加上运行功能,因为是从L-Blog修改而来,因此同样适用于L-Blog,另外,FBS也是L-Blog修改而来,应该也可以使用本文中的方法来添加运行代码功能.另外,由于复制代码和保存代码还没有找到兼容各浏览器的解决方法,就没有加进来了. 示例: 步骤如下: 1. 在 include/common.js 中添加如下代码: 复制代码 代码如下: function runCo

  • 在Z-Blog中运行代码[html][/html](纯JS版)

    昨天的<利用th,colgroup,col定义表格样式>中,细心点的朋友会发现加了一个"运行代码"的链接:直接点击可以运行Textarea中的内容.其实本身蓝色理想.51JS上也有相关介绍,Z-Blog官方论坛上也有类似帖子,因为自己不太喜欢改asp的内容(将来升级省得替换),所以偷了个小懒,做了一个纯JS版本的. 是否兼容FireFox,还没来得及测试.自己觉得"另存为"和"复制"功能也比较多余,这里也省略掉了.如果需要Fix Bu

  • 关于可运行代码无法正常执行的使用说明

    但随着一些效果,需要引入外部JS代码(外部js一般就是jquery等框架或一些需要引入的js代码其实就是只要可运行代码中有<script src="js路径"></script>的都是外部引入js),导致很多不是很熟悉代码的朋友,感觉这个代码是错误的,无法执行,就此这里简单的说明下,让大家不要理解错误了. 这里以一篇引入的外部Js的文章为例.http://www.jb51.net/article/23280.htm打开后发现如下代码那么点击运行代码后,发现页面并

  • js网页中的(运行代码)功能实现思路

    复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset='utf8' /> <title>网页中的运行代码功能</title> <script type="text/javascript"> function runCode(oCode) { var win = window.open('', "_blank", ''); win

  • csdn 博客中实现运行代码功能实现

    因为没有运行功能,所以想在页面中实现运行代码功能,下面的代码是个不错的实现方法,当然你也可以任何你想实现代码运行功能的地方使用. 复制代码 代码如下: <p> <script type="text/javascript"><!-- function viewPage(html) {     var page = window.open('', '', '');     page.opener = null;     page.document.write(

  • Java实现在不同线程中运行的代码实例

    本文实例讲述了Java实现在不同线程中运行的代码.分享给大家供大家参考,具体如下: start()方法开始为一个线程分配CPU时间,这导致对run()方法的调用. 代码1 package Threads; /** * Created by Frank */ public class ThreadsDemo1 extends Thread { private String msg; private int count; public ThreadsDemo1(final String msg, i

  • 易语言检测程序是不是在虚拟机中运行的代码

    汇编检测虚拟机的代码 .版本 2 .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕, , , .子程序 检测虚拟机, 逻辑型 .局部变量 a, 整数型 .如果 (try_ ()) a = VMWare检测 () try_out () .否则 .如果结束 .如果真 (a ≠ 0) 返回 (真) .如果真结束 .如果 (try_ ()) a = VPC检测 () try_out () .否则 .如果结束 返回 (a ≠ 0) .子程序 VMWare检测, 整数型, , 此函数不能独立在实体机

  • 基于jupyter代码无法在pycharm中运行的解决方法

    存在问题: jupyter代码无法在pycharm中运行 原因:工作文件和安装文件不统一引起的 解决方案: pycharm中新建工程项目时,要将图中所示红色部分勾选,从而保证可以引用到相应文件 补充知识:jupyter 在浏览器中 代码不执行 在机器学习的时候,当开始就遇到问题,pycharm启动jupyter notebook之后,浏览器前两行代码执行的好好的,后面就不执行了,上面的键全点了一遍(英语不行,见谅- -,死马当活马医).还是不行,后来,返现右上角python3旁边有个圈,当我重新

  • Go 语言中运行 C程序 代码 

    前言: 在前面多篇 Go 系列文章中,我们了解到,Go 语言脱胎于 C 语言,这就意味着在某些更底层的细节中,我们可以使用 C 语言实现,然后通过 Go 来调用相关的 C 代码.其实这一特点,在 Java 的 JVM.Python 的解释器也是通过底层是直接调用 C 实现的. 而本篇文章就来学习一下,如何在 Go 语言中运行 C 程序. 一.直接在 Go 代码中写入 C 程序 Go 语言通过 cgo 工具来识别代码中的 C 语言,我们可以通过命令 ​​go env​​ 来查看是否 cgo 工具是

随机推荐