`
txf2004
  • 浏览: 7039955 次
  • 性别: 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 客户端常用脚本

    javascript 客户端常用脚本javascript 客户端常用脚本javascript 客户端常用脚本javascript 客户端常用脚本javascript 客户端常用脚本javascript 客户端常用脚本javascript 客户端常用脚本

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

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

    基于javaScript+shell开发的信号衰减比较踢客户端下线脚本,支持弱信号剔除与强信号剔除+源码+项目文档+使用教程

    基于javaScript+shell开发的信号衰减比较踢客户端下线脚本,支持弱信号剔除与强信号剔除+源码+项目文档+使用教程,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,...

    IE Javascript 脚本失效解决办法

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

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

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

    c#客户端 javascript style 颜色计算器

    JavaScript,另一方面,是一种用于网页动态效果的脚本语言。在常规的Web开发中,JavaScript负责处理用户交互和页面动态更新。在Windows Forms中,C#程序可以借助WebBrowser控件来嵌入对JavaScript的支持。通过这个...

    服务器写客户端脚本.rar

    "服务器写客户端脚本"这一主题涉及到C#编程语言在构建这种通信机制时的应用。C#是一种广泛使用的面向对象的编程语言,尤其在.NET框架下,它能够提供强大的网络通信功能。 在C#中,服务器通常通过HTTP协议向客户端...

    HTML个人网页 asp登陆 涉及到javascript脚本编写

    在这个个人网页中,JavaScript可能被用来实现客户端的验证,比如在用户提交表单前检查输入是否有效,防止空值或格式错误。此外,JavaScript还可以用来动态更新页面内容,比如通过Ajax技术异步与服务器通信,实现无...

    stomp.min.js(stomp协议的客户端脚本)、sockjs.min.js(SockJS的客户端脚本)以及jQuery

    `stomp.min.js` 是一个用于JavaScript的STOMP客户端库,经过压缩处理以减少加载时间,便于在网页应用中集成。它提供了方便的API,让开发者能够轻松地订阅、发送和接收消息,同时处理连接、断开和错误事件。 jQuery ...

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

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

    IE脚本执行工具

    只适合于IE浏览器,打开工具,输入 javascript 脚本,然后把鼠标移到 IE浏览器上,按下标题中指示的快捷键,神奇出现了,你的脚本在页面上执行了!!下面的脚本可在CSDN登录页面输入帐号密码,赶快试一试吧: var fm...

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

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

    CookiesjsJavaScript客户端的Cookie操作库

    "CookiejsJavaScript客户端的Cookie操作库" 指的是一种JavaScript库,专门用于在客户端(即用户浏览器)进行Cookie的操作。Cookiejs是这个库的名称,它提供了一组简单易用的API,帮助开发者方便地管理用户的Cookie。...

    DronFw客户端脚本框架

    DronFw客户端脚本框架是一个专为自动化任务和流程设计的高效工具,它提供了丰富的功能,便于开发者编写和执行客户端脚本。该框架的核心设计理念是简化复杂的编程任务,使得即使非专业程序员也能轻松上手,提高工作...

    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代码插入到...

    修复IE的JavaScript的批处理

    标题中的“修复IE的JavaScript的批处理”指的是针对Internet Explorer(IE)浏览器中JavaScript功能出现问题时,使用批处理脚本来解决此类问题的技术方法。在Windows操作系统中,批处理文件(.bat)是一种文本文件,...

    IE中调试javascript

    在进行JavaScript调试之前,需要确保IE已经启用了脚本调试功能。具体步骤如下: - 在IE的“工具”菜单中选择“Internet选项”; - 切换到“高级”标签页; - 在“浏览”部分取消勾选“禁用脚本调试(Internet ...

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

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

Global site tag (gtag.js) - Google Analytics