`

简陋的Javascript脚本调试工具

阅读更多
  现在“富客户端”是炒得比较火的一个概念。所谓的富客户端一般需要写大量的javascript/vbscript代码,脚本语言是比较难调试的,虽然可以使用OFFICE中带的脚本调试程序、DOTNET或其它的专业工具来调试,可总是些不方便。
  写过VC程序的人相信比较熟悉TRACE、afxDump等几个函数,这几个函数可以在工具窗口实时的输出一些调试信息,可以很方便的发现一些运行时错误。有人使用纯脚本的方式实现了类似的跟踪调试功能,经过使用发现确实可以给开发带来比较大的方便。代码是以CodeProject网站上找到的,原理很简单,使用很方便。调试信息分为Message、Warn及Exception几种,以不同的颜色显示,很直观。
  下面把相应代码及使用帮助贴出来,感兴趣的网友可以拷贝粘贴后使用。
  主要是两个文件:
/***************************************************************************/
  一、脚本文件(文件名:debuggingTools.js)
/***************************************************************************/
//debug helper class to control popup windows
var DebugHelper = function()
{
    this.Active = true;
    this.ShowException = true;
    this.ShowURL = true;
    this.ShowLastModified = false;
    this.ShowReferrer = false;
    this.VerboseMode = false;
    //reference to the popup window
    this.DebugWindow = null;
    this.CssStyleFile = new String("debugWindow.css");
    this.WindowStyle = new String("left=0,top=0,width=300,height=300,scrollbars=yes,status=no,resizable=yes");
    //no spaces to run correctly on internet explorer
    this.WindowName = new String("JavascriptDebugWindow");
    this.WindowTitle = new String("Javascript Debug Window");
}

//method to show the debug window
DebugHelper.prototype.ShowWindow = function()
{
 try
 {
     if( this.Active )
     {
      this.DebugWindow = window.open("", this.WindowName, this.WindowStyle);
        this.DebugWindow.opener = window;
        //open the document for writing
        this.DebugWindow.document.open();
        this.DebugWindow.document.write(
          "<html><head><title>" + this.WindowTitle + "</title>" +
          "<link rel='stylesheet' type='text/css' href='" + this.CssStyleFile + "' />" +
          "</head><body><div id='renderSurface' style='width: 100%; height: 100%;' /></body></html>\n"
         );
         this.DebugWindow.document.close();
     }
 }
 catch(ex)
 {
  //ignore exception
 }
}  

//if the debug window exists, then write to it
DebugHelper.prototype.$Write = function(cssClass, message, url, lastModified, referrer)
{
 try
 {
  if( this.Active )
  {
   if( this.DebugWindow && ! this.DebugWindow.closed )
   {
       var msg = message;
      
       if( this.ShowURL && url != null )
           msg += " at " + url;
          
       if( this.ShowLastModified && lastModified != null )
           msg += " last modified in " + lastModified;

       if( this.ShowReferrer && referrer != null )
           msg += " referrer " + referrer;

       this.DebugWindow.document.getElementById("renderSurface").innerHTML = "<span class='" + cssClass + "'>" + msg + "</span>" + this.DebugWindow.document.getElementById("renderSurface").innerHTML;
     }
  }
 }
 catch(ex)
 {
  //ignore exception
 }
}

//write a message to debug window
DebugHelper.prototype.Message = function(message, url, lastModified, referrer)
{
 try
 {
     this.$Write("debugMessage", message, url, lastModified, referrer);
 }
 catch(ex)
 {
  //ignore exception
 }
}

//same as debug, plus another style applyied
DebugHelper.prototype.Warn = function(message, url, lastModified, referrer)
{
 try
 {
     this.$Write("debugWarn", message, url, lastModified, referrer);
 }
 catch(ex)
 {
  //ignore exception
 }
}

//same as debug, plus a strong style applyied
DebugHelper.prototype.Exception = function(message, url, lastModified, referrer)
{
 try
 {
     if( this.ShowException )
     {
         this.$Write("debugException", message, url, lastModified, referrer);
     }
 }
 catch(ex)
 {
  //ignore exception
 }
}

//if the debug window exists, then close it
DebugHelper.prototype.HideWindow = function()
{
 try
 {
     if( this.DebugWindow && !this.DebugWindow.closed )
     {
      this.DebugWindow.close();
         this.DebugWindow = null;
       }
 }
 catch(ex)
 {
  //ignore exception
 }
}

//create a global debug object
var debugHelper = new DebugHelper();
//you should show the window right here to get loading errors or sintax errors of other pages
//debugHelper.ShowWindow();

//catch generic errors also
function WindowOnError(msg, url, line)
{
 if( debugHelper )
 {
  debugHelper.Exception(msg, line + " at " + url);
 }
}
window.onerror = WindowOnError;
/***************************************************************************/
  二、样式表(文件名:debugWindow.css)
/***************************************************************************/
body
{
 background-color: #ffffff;
 font-family: "Courier New", Courier, monospace;
}
span.debugMessage
{
 border-bottom:1px dotted #cccccc;
 color: #000000;
 display: block;
 margin: 1px;
}
span.debugWarn
{
 border-bottom:1px dotted #aaaa00;
 color: #0000aa;
 display: block;
}
span.debugException
{
 border-bottom:1px dotted #ff0000;
 color: #aa0000;
 display: block;
 font-weight: bold;
}
/***************************************************************************/
  三、使用示例
/***************************************************************************/
  使用很简单了,在网页上包含上面的脚本文件,使用下面几个函数就可以了。
 debugHelper.ShowWindow();//显示调试窗口
 debugHelper.HideWindow();//隐藏调试窗口
  debugHelper.Message("信息");//显示message级别信息
 debugHelper.Warn("信息");//显示warn级别信息。
 debugHelper.Exception("信息");//显示Exception级别信息。

/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn
电邮:wallimn@sohu.com
博客:http://wallimn.iteye.com  http://blog.csdn.net/wallimn
时间:2006-11-15
/***********本人原创,欢迎转载,转载请保留本人信息*************/
分享到:
评论

相关推荐

    javascript脚本调试工具

    JavaScript脚本调试是Web开发中的重要环节,它帮助开发者定位并修复代码中的错误,提高程序的稳定性和用户体验。本文将详细介绍使用MSScriptControl微软脚本控件进行JavaScript调试的方法和技巧。 MSScriptControl...

    javascript脚本调试工具Microsoft Script Debugger:

    javascript脚本调试工具 Script Debugger 集成在IE中的一款很原始的调试工具,具备基本的调试功能,除了可以用于调试客户端脚本,还能调试在Microsoft IIS上运行的服务器端脚本。该工具命令窗口是基于文本的,针对...

    ASP.NET 3.5 JavaScript脚本调试方法

    ### ASP.NET 3.5 JavaScript脚本调试方法详解 #### 一、引言 随着Web应用的不断发展,JavaScript已经成为Web开发中不可或缺的一部分。在ASP.NET 3.5中,JavaScript的作用更加凸显,尤其是在实现动态效果和增强用户...

    微软推荐的JS脚本调试工具及用法说明 ie下脚本调试工具 Microsoft Script Debugger

    在IT行业中,JavaScript脚本调试是Web开发过程中不可或缺的一环,尤其在Internet Explorer(IE)浏览器环境下,由于其独特的执行机制,调试JavaScript代码显得尤为重要。本文将详细介绍微软推荐的JS脚本调试工具——...

    利用ie进行javascript脚本调试用vs.net调试javascript

    打开ie-&gt;工具菜单-&gt;inter选项-&gt;高级选项卡-&gt;去掉“禁止脚本调试"选项 2,打开vs.net,创建一个新的asp.net项目(或打开一个) 3,运行你要调试的页面 4,当你的页面呈现在ie里的时候,重新回到vs.net 5,在脚本中设置断点:

    js调试工具,javascript调试工具

    JavaScript,作为一种广泛应用于Web开发的脚本语言,其调试工具对于开发者来说至关重要。这些工具能够帮助我们找出并修复代码中的错误,优化性能,以及更好地理解程序的运行过程。以下将详细介绍JavaScript调试工具...

    javascript脚本调试器javascript_editor

    "javascript脚本调试器javascript_editor" 提供了一个集成的环境,帮助开发者高效地调试JavaScript代码。 JavaScript编辑器是这个工具的核心部分,它提供了编写和格式化代码的功能。一个优秀的JavaScript编辑器应该...

    IE的JavaScript调试工具

    总的来说,IE的JavaScript调试工具虽然相比现代浏览器的开发工具可能显得较为简陋,但依然提供了足够的功能来帮助开发者解决JavaScript问题。熟练掌握这些工具的使用,将极大地提升开发效率和代码质量。随着IE浏览器...

    又一个IE脚本调试插件

    描述中的“比前一个提供的更好用一点,个人认为”可能是指这个新的插件相比用户之前使用的脚本调试工具在功能、易用性或者效率上有所改进。用户提到的“用点分来提下人气”,可能是他们曾经在一个评分系统中给其他...

    Java Script脚本调试工具

    JavaScript脚本调试工具是开发者进行代码调试、找出错误、优化性能不可或缺的辅助工具。 "Microsoft Script Debugger"是一款由微软公司推出的专门用于调试JavaScript和VBScript的工具。它支持Internet Explorer...

    javascript脚本压缩工具

    JavaScript脚本压缩工具是一种用于优化和减小程序大小的实用程序,尤其在Web开发中非常常见。JavaScript代码在未经压缩的情况下可能会包含许多空格、换行符、注释以及可选的逗号,这些都会增加文件的加载时间和网络...

    js 脚本调试工具-支持ie firefox等多种浏览器

    "js 脚本调试工具-支持ie firefox等多种浏览器" 提供了一个强大的解决方案,让开发者能够在多种浏览器环境下高效地进行JS代码的调试工作。这里我们将深入探讨JavaScript调试工具的重要性、如何在IE和Firefox中进行...

    ie6 7脚本调试工具

    标题中的“ie6 7脚本调试工具”指的是专门针对Internet Explorer 6和7这两个版本的浏览器的JavaScript调试工具。在Web开发过程中,调试JavaScript代码是必不可少的环节,尤其是在IE6和IE7这两个版本,由于它们对标准...

    JAVASCRIPT TCP调试工具

    JavaScript TCP调试工具是一种实用的开发辅助工具,专为测试和调试TCP通信协议而设计。它利用JavaScript编程语言,使得开发者能够在浏览器环境中发送TCP数据包,从而进行网络通信的测试。这个工具的独特之处在于,它...

    javaScript脚本调试

    JavaScript脚本调试是每个前端开发者必须掌握的基本技能之一。在编写JavaScript代码时,错误和异常是常见的挑战,尤其是在处理复杂的项目或与多个库和API交互时。为了提高开发效率,理解并熟练运用调试技巧至关重要...

    javascript调试工具-绝对好用

    JavaScript是Web开发中不可或缺的一部分,而调试工具则是开发者在创建高效、无错代码时的得力助手。"javascript调试工具-绝对好用"这个标题暗示我们这里将介绍一个高效的JavaScript调试解决方案,它能够帮助开发者更...

    脚本调试工具

    此外,Internet Explorer(尽管现在已经逐渐被Edge取代)内建的脚本调试工具也支持VBScript,可以在浏览器环境中调试与HTML页面交互的脚本。 接下来,我们转向JavaScript,这是一种广泛应用于Web开发的客户端和...

    javascript的调试工具

    JavaScript是Web开发中不可或缺的一部分,而调试工具则是开发者的好帮手,可以帮助我们找出代码中的错误、性能瓶颈以及优化代码。本文将详细介绍JavaScript的调试工具及其安装步骤。 在浏览器环境中,Chrome ...

    IE中javascript调试工具

    这个工具包含了多个功能模块,如元素检查器、脚本调试器、网络面板等,其中脚本调试器专门用于JavaScript的调试。 ### 使用说明 1. **开启调试器**:在IE浏览器中,可以通过以下几种方式打开开发者工具: - 按F12...

    一款好用的可编程串口调试工具 支持JS 脚本编程

    工欲善其事 必先利其器,可编程的串口专业工具,你想象不到的强大和简单 1、普通串口助手功能 2、可编程脚本运行模式,多脚本支持,多demo可参考,提供脚本编写服务 3、常用的CRC校验支持 应用场景:标准调试场景,...

Global site tag (gtag.js) - Google Analytics