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. strcmp()函数-比较字符串的大小、字符串排序

    1.比较字符串的大小: 用法:strcmp(字符串1,字符串2),若字符串1>字符串2 则返回1,字符串1<字符串2 则返回 -1,相等返回0. 比较两个字符串的算法是:逐个比较两个串中对 ...

  2. 28、Django实战第28天:个人信息展示

    从今天开始,我来完成个人中心部分,前端页面如下 1.浏览这些页面可以发现,它们和base.html是有区别的,因此,它们需要新建一个模板usercenter-base.html 2.把usercent ...

  3. 【树上莫队】【带修莫队】bzoj3052 [wc2013]糖果公园

    #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using ...

  4. (转)unity web 缓存解决方案

    unity web 缓存解决方案 官方发布 web版限制五十M缓存,根据自己的经验绕了过去,解决了缓存的问题.带工程,带源代码.由于本人的水平也有限,是用JS来解决的,如果你还是没有头绪,可以购买来试 ...

  5. java static代码段

    1)java中还有个static代码块的形式,形式为 static {……}.static代码块是类定义的一部分,仅仅在类被初次加载的时候被调用一次,之后再调用不会再加载.那么类什么时候首次被加载呢? ...

  6. PythonGUI编程--向列表框添加滚动条

    代码如下: from tkinter import * window = Tk() window.title("New England") yscroll = Scrollbar( ...

  7. 全局对象Application的使用,以及如何在任何地方得到Application全局对象

    Application和Activity,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个application对象,用来存储系统的一些信息.通常我们是不 ...

  8. Java使用纯真IP库获取IP对应省份和城市

    原文:http://blog.csdn.net/chwshuang/article/details/78027873?locationNum=10&fps=1 Java使用纯真IP库获取IP对 ...

  9. PHP文件包含漏洞总结

    0x00 前言 PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入. 最常见的就属于本 ...

  10. 在Linux中切换用户时变成-bash-4.3$

    增加普通用户 [root@git-node1 ~]#useradd nulige [root@git-node1 ~]#passwd nulige 输入两次密码 [root@git-node1 ~]# ...