`
jsntghf
  • 浏览: 2480806 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JS美化脚本

阅读更多
<!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" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>javascript beautifier</title>
    <script type="text/javascript">
      function add_onload_function(fn)
      {
        var oe=window.onload;
        window.onload = function() { if (oe) oe(); fn(); }
      }
      add_onload_function(function() {
        var tabsize = get_var('tabsize');
        var braces_on_own_line = get_var('braces');
        var c;
        if (tabsize) {
          document.getElementById('tabsize').value = tabsize;
        }
        if (braces_on_own_line) {
          document.getElementById('braces-on-own-line').checked = 'checked';
        }
        if (get_var('test')) {
          run_tests();
        } else {
          c = document.forms[0].content;
          c && c.setSelectionRange && c.setSelectionRange(0, 0);
          c && c.focus && c.focus();
        }
      });

      function trim_leading_comments(str)
      {
        str = str.replace(/^(\s*\/\/[^\n]*\n)+/, '');
        str = str.replace(/^\s+/, '');
        return str;
      }

      function unpacker_filter(source)
      {
        if (document.getElementById('detect-packers').checked) {
          var stripped_source = trim_leading_comments(source);
          var unpacked = '';
          if (P_A_C_K_E_R.detect(stripped_source)) {
            unpacked = P_A_C_K_E_R.unpack(stripped_source);
            if (unpacked !== stripped_source) {
              return unpacker_filter(unpacked);
            }
          }
          if (EscapedBookmarklet.detect(source)) {
            unpacked = EscapedBookmarklet.unpack(source);
            if (unpacked !== stripped_source) {
              return unpacker_filter(unpacked);
            }
          }
          if (JavascriptObfuscator.detect(stripped_source)) {
            unpacked = JavascriptObfuscator.unpack(stripped_source);
            if (unpacked !== stripped_source) {
              return unpacker_filter(unpacked);
            }
          }
        }
        return source;
      }

      function do_js_beautify()
      {
        document.getElementById('beautify').disabled = true;
        var js_source = document.getElementById('content').value.replace(/^\s+/, '');
        var indent_size = document.getElementById('tabsize').value;
        var indent_char = ' ';
        var preserve_newlines = document.getElementById('preserve-newlines').checked;
        var keep_array_indentation = document.getElementById('keep-array-indentation').checked;
        var braces_on_own_line = document.getElementById('braces-on-own-line').checked;
        if (indent_size == 1) {
          indent_char = '\t';
        }
        if (js_source && js_source[0] === '<' && js_source.substring(0, 4) !== '<!--') {
          document.getElementById('content').value = style_html(js_source, indent_size, indent_char, 80);
        } else {
          document.getElementById('content').value =
            js_beautify(unpacker_filter(js_source), {
            indent_size: indent_size,
            indent_char: indent_char,
            preserve_newlines:preserve_newlines,
            braces_on_own_line: braces_on_own_line,
            keep_array_indentation:keep_array_indentation,
            space_after_anon_function:true});
        }
        document.getElementById('beautify').disabled = false;
        return false;
      }

      function get_var( name )
      {
        var res = new RegExp( "[\\?&]" + name + "=([^&#]*)" ).exec( window.location.href );
        return res ? res[1] : "";
      }

      function run_tests()
      {
        var st = new SanityTest();
        run_beautifier_tests(st);
        JavascriptObfuscator.run_tests(st);
        P_A_C_K_E_R.run_tests(st);
        EscapedBookmarklet.run_tests(st);
        document.getElementById('testresults').style.display='block';
        document.getElementById('testresults').innerHTML=st.results();
      }
    </script>
    <script type="text/javascript" src="js/beautify.js" ></script>
    <script type="text/javascript" src="js/beautify-html.js" ></script>
    <script type="text/javascript" src="js/sanitytest.js" ></script>
    <script type="text/javascript" src="js/beautify-tests.js" ></script>
    <script type="text/javascript" src="js/javascriptobfuscator_unpacker.js" ></script>
    <script type="text/javascript" src="js/bookmarklet_unpacker.js" ></script>
    <script type="text/javascript" src="js/p_a_c_k_e_r_unpacker.js" ></script>

    <style type="text/css">
      * { 
        margin: 0;
        padding: 0;
      }

      div#wrap {
        padding: 0 15px;
      }

      form { 
        margin: 0 0 20px 0;
      }

      textarea { 
        width: 100%; 
        height: 220px; 
        border: 0;
      }

      h1 { 
        font-family: "trebuchet ms", arial, sans-serif; 
        font-weight: normal; 
        font-size: 28px;
        color: #666; 
        margin: 10px 10px 15px 10px;
        border-bottom: 1px solid #666; 
      }

      a {
        color: #36d;
      }

      select { 
        width: 190px;
      }

      button { 
        width: 100%; 
        padding: 3px 5px;
        cursor: pointer;
        bordeR: 1px solid #ccc;
        border-bottom: 1px solid #999;
        border-right: 1px solid #999;
        margin-top: 2px;
        background-color: #eee;
      }

      body {
        font: 14px "myriad web", verdana, arial, helvetica, sans-serif; 
      }

      body, label, button, select { 
        font-family: "myriad web", verdana, arial, helvetica, sans-serif; 
      }

      h2 {
        color: #555;
        margin: 18px 0 4px 0;
        font-size: 14px;
      }

      fieldset {
        border: 0;
        padding: 0;
      }

      fieldset#textarea div {
        border: 1px solid #ccc;
        padding: 3px;
      }

      fieldset#options {
        width: 200px;
        margin-left: 10px;
        float: right;
      }

      fieldset#options h2 {
        margin-top: 0;
      }

      fieldset ul {
        list-style: none;
      }

      fieldset li {
        margin-bottom: 6px;
      }

      fieldset#textarea {
        text-align: right;

      }
    </style>
  </head>
  <body>
    <div id="wrap">
      <h1>Javascript unpacker and beautifier</h1>
      <form method="post" action="?">
        <fieldset id="options">
          <h2>Options</h2>
          <ul>
            <li><select name="tabsize" id="tabsize">
                <option value="1">indent with a tab character</option>
                <option value="2">indent with 2 spaces</option>
                <option value="3">indent with 3 spaces</option>
                <option value="4" selected="selected">indent with 4 spaces</option>
                <option value="8">indent with 8 spaces</option>
              </select></li>
            <li><input type="checkbox" id="braces-on-own-line" /><label for="braces-on-own-line"> Braces on own line</label><br /></li>
            <li><input type="checkbox" id="preserve-newlines" checked="checked" /><label for="preserve-newlines"> Preserve empty lines?</label><br /></li>
            <li><input type="checkbox" id="detect-packers" checked="checked" /><label for="detect-packers"> Detect packers?</label><br /></li>
            <li><input type="checkbox" id="keep-array-indentation" /><label for="keep-array-indentation"> Keep array indentation?</label></li>
          </ul>
        </fieldset>
        <fieldset id="textarea">
          <div><textarea rows="30" cols="30" name="content" id="content">
if('this_is'==/an_example/){do_something();}else{var a=b?(c%d):e[f];}
            </textarea></div>
          <button onclick="return do_js_beautify()" id="beautify">Beautify</button>
        </fieldset>
      </form>
    </div>
  </body>
</html>

 

示例图:

 

分享到:
评论

相关推荐

    js特效脚本含源码和说明表单美化之select的下拉按钮美化

    js特效脚本含源码和说明表单美化之select的下拉按钮美化本资源系百度网盘分享地址

    js特效脚本含源码和说明select下拉菜单美化

    js特效脚本含源码和说明select下拉菜单美化本资源系百度网盘分享地址

    js-beautify, javascript美化器.zip

    js-beautify, javascript美化器 JS美化器 这个小美化程序将重新格式化和reindent书签,丑陋的JavaScript,unpack包装,爱德华packer流行,以及deobfuscate脚本处理,由 javascriptobf

    js特效脚本含源码和说明Labelauty–jQuery单选框复选框美化插件

    js特效脚本含源码和说明Labelauty–jQuery单选框复选框美化插件本资源系百度网盘分享地址

    精通JS脚本之ExtJS框架.part2.rar

    《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计...

    js-beautify:JavaScript的美化器

    JS美化器 这个小小的美化工具将重新格式化和缩进书签,丑陋JavaScript,解压缩由Dean Edward受欢迎的打包程序打包的脚本,以及对由npm软件包处理的脚本进行部分反混淆处理。 打开尝试一下。 可通过UI使用选项。需要...

    精通JS脚本之ExtJS框架.part1.rar

    《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计...

    JS 解压缩 美化 工具

    1.亲测无病毒,一些网站下的有病毒,如脚本之家的。 2.无需安装,绿色。一些网站下的需要安装,如51CTO的。 3.带了一个中文包,可以加载出中文的。 美化效果例子: 原: &lt;script language="JavaScript"&gt;var i=0,s=...

    Ideal forms JavaScript迷你表单美化插件.rar

    Ideal forms JavaScript迷你表单美化插件,一款轻量级的表单美化架构,美化架构简单,基于jQuery框架,能够帮助web开发人员快速创建漂亮和界面友好的表单组件。Ideal forms框架可将普通的input表单元素改变为圆角的...

    WTL8.1(build 12085)(带集成安装脚本及资源美化)(03-25-2012)

    3. 美化了.ico图标和toolbar.bmp,新图标和位图具有Alpha通道。 4. 为winCE和winMobile添加setup100.js安装文件,使其支持VS2010。 5. 集成了一个安装脚本,自动完成环境变量设置,UICC拷贝及.props文件路径添加。...

    一些很酷,很好用的js脚本

    遮住网页某部分内容的下拉菜单 无间断循环滚动(兼容IE、FF) 令人震撼的图片展示效果 一个超酷弹出窗口的小效果 JS+CSS和图片美化下拉列表选择框(select) 等等,有30多个,来给大家分享

    WTL 9.0 (build 4060)-20140301 [集成安装脚本及资源美化]

    2. 增加了UICC及VS2010安装脚本(环境变量添加,UICC拷贝及.props文件路径添加),在SDK v7.0A的v100工具链下也可以编译.xml文件并使用ribbon, 脚本执行后默认工程可自动包含WTL include 目录。 3. 美化了.ico图标和...

    用javascript模拟select达到美化效果

    第二步:用脚本找到select标签在网页上的绝对位置。 我们在那个位置上用DIV标签做个假的、好看点的来当他的替身。 第三步:用脚本把select标签中的值读出来。 虽然藏起来了,但它里边的options我们还有用呢,统统取...

    node-beautify:node.js 的资产美化工具

    Node-Beautify 是一个 node.js 模块,可以很容易地使用它来美化 Node.js 脚本中的资产。 它并不是一个命令行工具,有很多现有的工具可以做到这一点。 Node-Beautify 的目的是用于基于 javascript 的构建脚本等,...

    下拉框的表单美化插件,mSelect.js源代码.rar

    下拉框的表单美化插件,mSelect.js源代码,mSelect 是一个含有漂亮下拉框、漂亮按钮的表单美化插件,支持下拉框的滑动展开、折叠,原下拉的onchange事件,selected/disabled属性,支持上下键选择,支持表单的reset,...

    计算机病毒与防护:JavaScript基础.ppt

    JavaScript常用脚本 JavaScript简介 JavaScript是一种客户端脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最...

    jQuery的弹出警告对话框美化插件

    基于jQuery的弹出警告对话框美化插件(警告,确认和提示) 这个Jquery插件的目的是...详细出处参考:file:///F:/闫洪明/新建文件夹/1alerts/基于jQuery的弹出警告对话框美化插件(警告,确认和提示)_jquery_脚本之家.mht

    Ideal forms JavaScript迷你表单美化框架

    摘要:脚本资源,jQuery,表单美化 Ideal forms JavaScript迷你表单美化框架,一款轻量级的表单美化架构,美化架构简单,基于jQuery框架,能够帮助web开发人员快速创建漂亮和界面友好的表单组件。Ideal forms框架可将...

    js-beautify-old:较旧版本的 js-beautify - 因为它在整个项目中使用,所以保留它作为备份

    JS美化器 这个小美化器将重新格式化和重新缩进书签、丑陋的 JavaScript、解包由 Dean Edward 流行的打包程序打包的脚本,以及对处理的脚本进行反混淆处理。用法您可以在 Web 浏览器中使用 JS Beautifier 或在命令行...

Global site tag (gtag.js) - Google Analytics