Z-Blog纯JS实现代码运行功能
本文介绍一种在Z-Blog中无需修改ASP文件即可实现代码运行功能的纯JavaScript方案。通过遍历带有特定class名的Textarea元素,动态生成“运行代码”链接,点击后在新窗口执行代码内容。该方法兼容性好,且支持调整代码显示位置,适合希望简化维护流程的Z-Blog用户。
Z-Blog纯JS实现代码运行功能
在之前的《利用th,colgroup,col定义表格样式》一文中,细心的读者可能注意到添加了一个“运行代码”链接:点击即可直接执行Textarea中的内容。虽然蓝色理想、51JS等网站也有类似介绍,Z-Blog官方论坛也有相关帖子,但由于我不喜欢修改ASP文件(为了后续升级方便,避免替换麻烦),因此偷懒制作了一个纯JS版本。
该方案是否兼容FireFox,我尚未进行测试。个人觉得“另存为”和“复制”功能略显多余,因此在此省略。如果需要修复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,就有多少个“运行代码”功能,够简单吧?
ES6模块化中js文件怎么用import和export交互
2026-11-05 17:00:48
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
