在线运行HTML代码器(二)和前面的(一)大同小异,关键部分为JS代码,这次是把运行器所有的JS功能集中放在一起。以下为HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>在线运行HTML代码器(二)</title>
<script type="text/javascript" src="runcode.js"></script>
<style>
#codeinp { font-size: 14px; font-family: 'Courier'; }
.btnbar { margin-top: 5px; }
a { font-size:14px; text-decoration: none; margin: 5px; }
</style>
</head> <body id="nv_tools" class="pg_runcode widthauto" onkeydown="if(event.keyCode==27) return false;">
<div class="content">
<div id="code" class="textbox">
<div><textarea id="codeinp" rows="8" cols="40">将HTML代码粘在此处,点击运行即可。</textarea></div>
</div>
<div class="btnbar">
<a id="btclear" class="btns" href="javascript:void(0);" hidefocus="true">清空</a>
<a id="btrun" class="btns hilite" href="javascript:void(0);" hidefocus="true">运行</a>
</div>
</div>
</body>
</html>

以下为JS代码:

(
function()
{
window.onload = function()
{
var tips = "将HTML代码粘在此处,点击运行即可。";
var codeinp = document.getElementById("codeinp");
var btclear = document.getElementById("btclear");
var btrun = document.getElementById("btrun"); // 点击框后tips消失
codeinp.onfocus = function()
{
var code = codeinp.value;
code == tips && (codeinp.value = ""); //当textarea中的值为tips,则清空。说明:如果&&左侧表达式的值为真值,则返回右侧表达式的值。
}; // 恢复tips
codeinp.onblur = function() //
{
var code = codeinp.value;
code == "" && (codeinp.value = tips); // 当textarea中的值为清空状态时,则改写为tips
}; // 点击“清空”清空textarea
btclear.onclick = function()
{
codeinp.value = ""; // 点击“清空”时textarea框中的值被清空
codeinp.focus(); // 光标聚焦textarea框
}; // 点击“运行”运行
btrun.onclick = function()
{
var code = codeinp.value;
if(code != tips) // 如果textarea中的值不是tips,则运行代码,否则弹窗alert
{
var newwin = window.open('','','');
newwin.opener = null;
newwin.document.write(code);
newwin.document.close();
}
else
{
alert("请将需要运行的HTML填写到输入框后再运行!");
}
};
}
}
)();

最新文章

  1. MyEclipse 常用快捷键
  2. JSON方式提交文档时SOLR报:AtomicUpdateDocumentMerger Unknown operation for the an atomic update, operation ignored
  3. MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解
  4. javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。(SQL 2000,SQL2005,SQL2008)
  5. XCode之entitlement
  6. bzoj 2132 圈地计划(黑白染色,最小割)
  7. IE11下用forms身份验证的问题
  8. 第十二章——SQLServer统计信息(1)——创建和更新统计信息
  9. 201521123034 《Java程序设计》第3周学习总结
  10. BGP:我们不生产路由,而是路由的搬运工
  11. RabbitMQ tutorial
  12. python学习-Day1-接口测试
  13. centos6.5 nginx安装pcre错误
  14. 开源性能测试工具Locust使用篇(三)
  15. 《剑指offer》总结一
  16. jmeter接口自动化部署jenkins教程
  17. 使用Cobbler批量部署Linux和Windows:CentOS/Ubuntu批量安装(二)
  18. 自定义Django中间件(登录验证中间件实例)
  19. c#面向对象基础3
  20. Daily target小队介绍(刘畅,陈杰,杨有存,唐祎琳,王晓哲,邵汝佳)

热门文章

  1. 从一个标准URL中提取文件的扩展名
  2. webpack 学习笔记 02 快速入门
  3. 菜鸟学习Spring——第一个例子
  4. hdu 1237 简单计算器
  5. JavaScript高级程序设计之window对象
  6. golang构造函数与转换函数
  7. 检测到有潜在危险的 Request.Form 值。 说明: ASP.NET 在请求中检测到包含潜在危险的数据
  8. 服务器 IIS 发布网站 支持下载 apk 和 ipa
  9. 华硕电脑安装ubuntu出现问题及决方案
  10. 68.vivado与modelsim的关联以及器件库编译