Blackbird 是一个开源的 Javascript 调试工具,默认提供一种非常酷的方式展现 Javascript 调试信息,如下图,效果如何呢?

在我们的日常的学习或工作中,经常都会接触到 Javascript,有时为了进行一些简单的调试,我们也许会采用 alert(),但有时也是很麻烦的,比如在一个循环中,我们可能就要点击 n 次的弹出窗口了。但现在有了 Blackbird,我们就可以和 alert() 说拜拜了。

虽然有人说会很多 Javascript 类库都有类似功能,但我可不想因为进行一些简单的调试而去加载一个框架,因为 Blackbird 足够简洁和小巧了,就 4 个文件,20 多 KB:

4 个文件:

blackbird.js,blackbird.js,blackbird_icons.png,blackbird_panel.png

使用也非常简单,保持 css 文件和 png 文件在同一目录下(注:当然你也可以修改 css 文件,使之按你想要的目录方式存放。),然后在你想调试的页面的 < head> 和 < /head> 之间加载该 js 和 css 文件即可,大概代码如下:

<html>

<head>

<script type="text/javascript" src="/PATH/TO/blackbird.js"></script>

   <link type="text/css" rel="Stylesheet" href="/PATH/TO/blackbird.css" />

...

</head>

...

Blackbird 支持当前的主流浏览器如 ie6+,Firefox2+,Safari2+,Opera9.5 等,并支持快捷键操作,非常方便。

F2: 显示和隐藏控制台

Shift + F2 : 移动控制台(目前只支持移动到四个角,如果支持随意拖动就更炫了。)

Alt + Shift + F2:清空控制台信息

同时,Blackbird 还提供多个公共 API:

log.toggle()          显示或隐藏 Blackbird

log.move()            移动

log.resize()           修改 Blackbird 窗口显示大小

log.clear()             清空信息

log.debug( message )   debug 信息

log.info( message )     一般消息

log.warn( message )      警告信息

log.error( message )    错误信息

log.profile( label )     计算消耗时间

使用方法也很简单,如想在 Javascript 代码里调用 Blackbird,代码如下:

log.debug( 'this is a debug message' );

log.info( 'this is an info message' );

log.warn( 'this is a warning message' );

log.error( 'this is an error message' );

或一个更详细,具体的例子:

log.profile( 'local anchors' );

var anchors = document.getElementsByTagName( 'A' );

for ( var i = 0; i < anchors.length; i++ )

{

if ( anchors[ i ].name )

{

log.debug( anchors[ i ].name );

}

}

log.profile( 'local anchors' );

以上代码来自 Blackbird 官方,演示和下载地址如下所示:

Demo:http://www.gscottolson.com/blackbirdjs/
Download:blackbirdjs-1.0.zip
License:MIT License

转载请注明http://www.html5cn.org/article-5552-1.html

非常酷的 Javascript 简单调试工具Blackbird的更多相关文章

  1. 分享十个JavaScript在线调试工具

    测试Javascript可能是网页开发中最让人忧伤的工作.这里我找一些比较好的工具来帮助大家进行测试工作.这10款是我精选的基于浏览器的JavaScript在线调试工具,希望你们对你们有用. 1.Op ...

  2. JavaScript简单入门(补充篇)

    本文是对上一篇 JavaScript简单入门 的一些细节补充. 一.全局变量和局部变量 在<script>标签内定义的变量是当前页面中的全局变量.即 <script>标签可以直 ...

  3. 《javascript高级程序设计》读书笔记(一)javascript简单介绍

    第一章:javascript简单介绍 Netscape Navigator 开发的javascript   Javascript的实现有三部分: 1.核心(ECMAScript):提供核心语言功能. ...

  4. Javascript 简单实现鼠标拖动DIV

    http://zhangbo-peipei-163-com.iteye.com/blog/1740078 比较精简的Javascript拖动效果函数代码 http://www.jb51.net/art ...

  5. 超酷的JavaScript叙事性时间轴(Timeline)类库

    在线演示 Timeline 是我见过的最酷的展示事件随时间发展的javascript实现.你可以基于时间使用讲故事的方式来创建时间轴特效,整个时间轴以幻灯的方式来展示,你可以穿插图片,视频或者是网站, ...

  6. [Java Web] 4、JavaScript 简单例子(高手略过)

    内容概览: JavaScript简介 JavaScript的基本语法 JavaScript的基本应用 JavaScript的事件处理 window对象的使用 JavaScript简介: JavaScr ...

  7. javascript - 简单实现一个图片延迟加载的jQuery插件

    最近在看一本书<Third-Party Javascript>很不错,推荐给大家,下载地址各位自己搜索了. 步骤: 1.打开google,鉴于google基本打不开,那么就打开这个网址吧. ...

  8. Flash Socket简单调试工具

    写了一个简单的Flash Socket调试工具,可用来简单调试本地或者外部socket服务器,使用的时候注意Flash socket的安全策略问题,有问题请联系sky-wang@qq.com.

  9. javascript 简单的计算器

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...

随机推荐

  1. HDU 6326.Problem H. Monster Hunter-贪心(优先队列)+流水线排序+路径压缩、节点合并(并查集) (2018 Multi-University Training Contest 3 1008)

    6326.Problem H. Monster Hunter 题意就是打怪兽,给定一棵 n 个点的树,除 1 外每个点有一只怪兽,打败它需要先消耗 ai点 HP,再恢复 bi点 HP.求从 1 号点出 ...

  2. MongoDB走过的坑(4.0.3版本)

    数据存储一般使用本地或者存储在数据库,MongoDB是一个非关系型数据库,今天小结下走过的一些坑. 1.网上的很多教程对自己无效 解决方法:这种情况一般都是和版本有关系,数据库在不断的更新发展,很多东 ...

  3. codeforces 713C C. Sonya and Problem Wihtout a Legend(dp)(将一个数组变成严格单增数组的最少步骤)

    E. Sonya and Problem Wihtout a Legend time limit per test 5 seconds memory limit per test 256 megaby ...

  4. 一个Sqrt函数引发的血案

    源码下载地址:http://diducoder.com/sotry-about-sqrt.html 好吧,我承认我标题党了,不过既然你来了,就认真看下去吧,保证你有收获. 我们平时经常会有一些数据运算 ...

  5. 初识.NET Core

    dotnet new console dotnet new web dotnet new webapi dotnet run dotnet build -r win-x64 dotnet publis ...

  6. ubuntu 修改权限

    在linux终端先输入ll,可以看到如: -rwx-r–r– (一共10个参数) 表示文件所属组和用户的对应权限. 第一个跟参数属于管理员,跟chmod无关,先不管. 2-4参数:属于user 5-7 ...

  7. Annotation的语法和使用

    http://blog.csdn.net/cdl2008sky/article/details/6265742 (1) .<context:component-scan base-package ...

  8. 【分块】bzoj3295 [Cqoi2011]动态逆序对

    考虑每次删除pos位置一个数x后,所造成的的影响就是,逆序对的个数少了在1~pos-1中大于x的数的个数加上pos+1~n中小于x的数的个数. 那么我们需要的操作就只有查询区间内比某数大(小)的个数. ...

  9. 求一个整数个位数之和 Exercise06_02

    import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:求一个整数个位数之和 * */ public class Exercise ...

  10. Problem V: 零起点学算法20——输出特殊值II

    #include<stdio.h> int main() { printf("\\n"); ; }