zoukankan      html  css  js  c++  java
  • 在线运行HTML代码器

    在线运行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填写到输入框后再运行!");
                    }
                };
            }
        }
    )();
  • 相关阅读:
    Logistic Regression
    如何把日期格式化为指定格式?
    JavaScript的自调用函数
    elementui 在原生方法参数里,添加参数
    原生js实现随着滚动条滚动,导航会自动切换的效果
    微信小程序-canvas绘制文字实现自动换行
    visual studio 和 sql server 的激活密钥序列号
    跨多个服务器访问不同数据库的表的方法
    数据库面试中常问的几个问题
    聚集索引和非聚集索引的区别
  • 原文地址:https://www.cnblogs.com/answercard/p/3975914.html
Copyright © 2011-2022 走看看