`
txf2004
  • 浏览: 7066776 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

IE下调试客户端JavaScript脚本

阅读更多

如果您的Atlas程序运行在debug模式下,那么Atlas会自动为您生成一个Debug Helper Class。 这个Debug Helper Class是一个全局的对象,名称为debug,可以在您代码的任何部位被访问到。使用这个debug对象的方法,您可以在运行时dump一个对象(以可读的形式在页面尾部显示该对象的内部状态),显示trace信息,使用断言(assertion),break到调试器等。如果Visual Studio的脚本调试器(参见下文)已经attach到了这个Internet Explorer上,那么Visual Studio的Output窗口也会显示trace信息。

这个Debug Helper Class提供如下方法:
1.debug.assert(condition, message, displayCaller) 断言condition 是否为true。如果condition为false,该方法将显示出message的内容。如果displayCaller为true,该方法将显示出调用者的信息。
2.debug.clearTrace()
清除trace的输出。
3.debug.dump(object, name, recursive, indentationPadding)
以可读的形式在页面尾部显示object对象的内部状态。name值用来显示该对 象的名称。如果recursive为true,将递归显示该对象内部的所有被包含的对象的信息。indentationPadding值用来指定输出的每一行的起始文本
4.debug.fail(message)
Break到调试器中。(仅应用于Internet Explorer中)
5.debug.trace(text)
将text参数输出到trace当中。

演示如何使用debug.dump()请见参考文档



将Visual Studio 脚本调试器attach到Internet Explorer

您可以使用Visual Studio脚本调试器来调试您的JavaScript代码。虽然这个调试器功能有限且有许多bug,不过我觉得它已经是此刻市面上最好的JavaScript调试器了。您需要安装Visual Studio 2005以及 Internet Explorer 6.0或以上版本来使用Visual Studio脚本调试器。

在默认情况下,Internet Explorer将忽略所有JavaScript脚本错误。您需要手动设置一些属性来使Internet Explorer启用调试功能。打开Internet Explorer窗口,在Tools菜单下选择Internet Options,在Advanced标签中,不要选中Disable Script Debugging (Internet Explorer)和Disable Script Debugging (Other)两项,并选中Display a notification about every script error一项。


您需要attach调试器到Internet Explorer进程上以开始debug。在Visual Studio中使用F5来启动调

试即可。还有一种方法,您可以将Visual Studio脚本调试器attach到已经在运行的某个Internet Explorer进程上:在Internet Explorer的View菜单下,展开Script Debugger菜单项,选择Open。然后在弹出的对话框中选择一个正在运行的Visual Studio或是另外启动一个Visual Studio。
脚本调试器使用技巧以及现存Bug

调试Atlas应用程序时,应该注意以下问题:

当Visual Studio脚本调试器attach到Internet Explorer上以后,您可以看到Atlas客户端类库将以WebResource.axd?...这样的一个资源文件出现在Script浏览器中。这是服务器端由Microsoft.Web.Atlas.dll程序集动态生成的。这里已知的一个bug是,在刚刚开始debug的时候Visual Studio可能阻止你打开这个文件。也就是说当您双击这个文件时候或者是没有任何反应,或者是弹出错误提示。解决方法是先选择打开另外的JavaScript文件,然后再试一次重新打开,一般就会解决。(注意这个WebResource.axd?...是一个很大的文件,需要等待一段时间才能打开。)
Visual Studio不允许您在ASPX文件中的JavaScript代码中设置断点。解决的方法有三个,一个是从外部的JavaScript函数中单步跟踪到ASPX中的JavaScript,一旦调试器停在了ASPX文件中的JavaScript,那么您就可以在下面的某一行设置断点了。二是在需要break的地方加上debug.fail(),这样当Visual Studio脚本调试器break到此处时,您就可以在其它地方设置断点了。三是将您所有的自定义JavaScript代码放置于外部文件中,并在ASPX中进行引用。
Visual Studio不允许您在一个匿名方法(类似this.func = function())的方法体的第一行设置断点。您可以通过在第一行之前加入一些无意义的代码(例如var a = 3)来使原本的第一行变成第二行,这样即可在第二行设置相应的断点。
在debug的过程中,当您将鼠标移到JavaScript的某个变量上的时候,可能得到的变量值是错误的,请看如下的截图,提示length为0,实际上应该为10。



此时您应该选中(高亮)从对象到属性的所有语句,然后再将鼠标移到被选中的内容上,即可得到正确的值。请见下图:

有时候在某次debug之后发现Internet Explorer中的Script Debugger菜单项消失了,这时您可以重新打开一个Internet Explorer窗口,即可找回这个丢失的菜单项。

分享到:
评论

相关推荐

    利用客户端JavaScript脚本制作自测型教学网页.pdf

    【标题】:利用客户端JavaScript脚本制作自测型教学网页 【描述】:本文主要讨论如何利用客户端JavaScript脚本创建自测型教学网页,包括网页试卷的制作、JavaScript脚本的嵌入以及设置指向本地计算器的超链接。 ...

    IE Javascript 脚本失效解决办法

    ### IE Javascript脚本失效解决办法 #### 一、问题背景 在使用Internet Explorer(以下简称IE)浏览器时,可能会遇到JavaScript脚本失效的情况。这不仅会影响网页的正常展示,还可能导致某些交互功能无法正常使用...

    网页javascript脚本语言提取器

    JavaScript是一种广泛应用于网页开发的脚本语言,它允许在用户浏览器上动态地更新内容,实现交互性和动画效果。"网页JavaScript脚本语言提取器"是一个工具,专门设计用于从网页中抓取并分析JavaScript代码,这在进行...

    浅谈关于JavaScript脚本语言的学习.pdf

    1. 客户端数据验证:JavaScript脚本可以直接对用户操作做出响应,对客户端数据进行验证,不需要经过Web服务器程序处理,节约了客户端与服务器之间的交互时间。 2. 动态网页:JavaScript脚本可以使静态的HTML网页...

    基于Rhino引擎的低侵入式JavaScript内置对象扩展方法.pdf

    5. 客户端JavaScript脚本:客户端JavaScript脚本是指在客户端浏览器中运行的JavaScript脚本。 6. 扩展Rhino引擎:扩展Rhino引擎是指对Rhino引擎进行改进和扩展,以提高其性能和可扩展性。 7. 低耦合设计:低耦合设计...

    javascript客户端图片预览脚本

    javascript客户端图片预览,支持火狐、ie、谷歌(chrome)

    javascript脚本

    javascript脚本

    浅析页面中Java与JavaScript脚本的区别.pdf

    JavaScript 脚本可以访问客户端的资源,例如浏览器、cookie、localStorage 等,因此它常用于实现一些需要客户端处理的功能。 在上面的示例代码中,我们使用了 Java 和 JavaScript 两种语言来实现显示当前日期的功能...

    IE6下调试工具-js写的高仿firebug

    在IE6下调试JavaScript时,通常只能依赖于有限的手段,如使用console.log()语句打印信息,或者在代码中插入alert()函数来检查变量状态。这远远不能满足复杂Web应用的调试需求。因此,这个高仿Firebug工具通过...

    一个用客户端js脚本函数进行网页Session超期统计个数显示函数库

    本话题将深入探讨如何使用客户端JavaScript脚本来实现Session超时的统计和显示。 标题中的“一个用客户端js脚本函数进行网页Session超期统计个数显示函数库”指的是通过JavaScript在用户浏览器端实现的功能,这种...

    浏览器客户端JavaScript生成随机验证码.html

    浏览器客户端JavaScript生成随机验证码

    为每个人生成客户端JavaScript PDF.zip

    JavaScript是一种广泛应用于Web开发的编程语言,特别是在客户端脚本中,它允许动态交互性和实时更新。这个名为"为每个人生成客户端JavaScript PDF.zip"的压缩包显然聚焦于利用JavaScript在浏览器环境中生成PDF文档的...

    JavaScript脚本特效编程给力起飞.pdf

    JavaScript脚本特效编程给力起飞.pdf

    加载JavaScript脚本的包

    JavaScript是一种广泛应用于Web开发的轻量级编程语言,它通常用于客户端的网页交互。然而,在某些情况下,我们可能需要在服务器端或者Java应用程序中使用JavaScript的功能。这就是`js jar jwr`标签所指的场景,它...

    asp.net中TextBox获得焦点和失去焦点——客户端JavaScript事件

    JavaScript是一种运行在客户端浏览器上的脚本语言,它能监听用户行为和页面状态的变化,然后触发相应的函数。在TextBox中,两个关键的事件是`focus`和`blur`。 1. `focus`事件:当TextBox获得焦点,即用户开始在该...

    ASP.NET 3.5 JavaScript脚本调试方法

    为了能够在浏览器中调试JavaScript脚本,我们需要先对IE浏览器进行一些基本设置。具体步骤如下: 1. 打开IE浏览器,选择“工具”>“Internet选项”>“高级”。 2. 在“高级”选项卡中,滚动至“浏览”类别下,取消...

    前端开发基础入门教程 JavaScript语言编程基础教程 第3章 客户端JavaScript 共38页.pptx

    ### 前端开发基础入门教程:JavaScript语言编程基础教程 第3章 客户端JavaScript #### 学习目标 1. **理解JavaScript在Web环境下的应用方式**。 2. **掌握如何通过JavaScript脚本化浏览器窗口**。 3. **熟悉全局...

    javascript脚本语言

    客户端脚本是指在用户浏览器中执行的代码,比如JavaScript和VBScript。JavaScript是最常见的客户端脚本语言,它可以直接嵌入到HTML文档中,或者通过外部文件链接引用。使用`<script>`标签可以将JavaScript代码插入到...

    K线图画图最强大的javascript脚本

    JavaScript是一种轻量级的解释型编程语言,常用于Web页面的客户端脚本,使得网页具有动态交互性。这个脚本可能包含了一些高级的绘图技术,如数据处理、图形渲染、动画效果以及用户交互功能。 在提供的压缩包中,...

Global site tag (gtag.js) - Google Analytics