热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使Firebug内部动态加载javascript-MakingFirebugbreakinsidedynamicallyloadedjavascript

ImlookingforawaytodebugadynamicallyloadedjQuerydocument.readyfunction.我正在寻找一种方法来调试动态加

I'm looking for a way to debug a dynamically loaded jQuery document.ready function.

我正在寻找一种方法来调试动态加载的jQuery document.ready函数。

Obviously I can't just bring up the script panel and add a breakpoint with the mouse since the function does not exist there.

显然我不能只调出脚本面板并用鼠标添加断点,因为那里没有该函数。

I've also tried adding "debugger;" to the function (without the quotes), but that did not do anything. I have ensured that the function is actually executed while I tried this.

我也试过添加“调试器”;到函数(没有引号),但没有做任何事情。我已经确保在我尝试这个时实际执行了该功能。

Thanks for your help,

谢谢你的帮助,

Adrian

阿德里安

Edit: I just noticed that Firebug actually breaks on debug. However, when it does so on a dynamically loaded script, it does not bring up the source code of that script as usual. Plus, the call stack ends right below my own code. I can bring up the implementation for document.ready via the call stack, but that does not really help. Is this a Firebug bug or have I missed something?

编辑:我刚注意到Firebug实际上在调试中断了。但是,当它在动态加载的脚本上执行此操作时,它不像往常那样显示该脚本的源代码。另外,调用堆栈在我自己的代码下面结束。我可以通过调用堆栈调出document.ready的实现,但这并没有真正帮助。这是一个Firebug错误还是我错过了什么?

5 个解决方案

#1


17  

I just worked on this similar question. The solution involves adding the word debugger twice; once at the top of the external file and one more time at the top of the function that needs to be debugged.

我刚刚研究过这个类似的问题。解决方案包括两次添加调试器一词;一旦位于外部文件的顶部,再一次位于需要调试的函数顶部。

I noticed that if the debugger word was used only once, it did not work. Example:

我注意到如果调试器单词只使用一次,它就不起作用了。例:

//myExternal.js
debugger;
function myExternalFunction(){
 debugger;
 /* do something here */
}

#2


0  

You might try placing a break point where the event is called, and then instead of click "Play", choose "Step Into" (F11). I don't have a test case in front of me, but I think this may work.

您可以尝试在调用事件的位置放置一个断点,然后选择“Step Into”(F11),而不是单击“Play”。我面前没有测试用例,但我认为这可能有用。

#3


0  

I don't know if you ever got this figured out, but in case someone else needs it...

我不知道你有没有想到这个,但万一其他人需要它...

I got around this by moving the code I wanted to debug to an external file that was linked from the main page.

我通过将我想调试的代码移动到从主页链接的外部文件来解决这个问题。

In my case, I had default.aspx loading services.aspx into a content div using jQuery AJAX. Services.aspx in turn, was loading jQuery UI tab elements using AJAX from a webservice that was providing it data. The webservice code was in a file called data.js which was linked from default.aspx. I needed to debug the code that was in the header of services.aspx (that loaded the tabs with data), but couldn't ever see it in any of the available inspectors. I just moved the code I needed to a new function in data.js and called it from the header in services.aspx.

在我的例子中,我使用jQuery AJAX将default.aspx加载到内容div中。反过来,Services.aspx正在使用AJAX从提供数据的Web服务加载jQuery UI选项卡元素。 Web服务代码位于名为data.js的文件中,该文件是从default.aspx链接的。我需要调试services.aspx标头中的代码(用数据加载标签),但是在任何可用的检查器中都看不到它。我只是将我需要的代码移动到data.js中的新函数,并从services.aspx中的头部调用它。

I hope that makes sense to someone who needs it!

我希望对需要它的人有意义!

#4


0  

Just encountered same behavior (Firebug ignoring debugger; statement in dynamically loaded code) in Firefox 5.0/Firebug 1.7.3.

刚刚遇到Firefox 5.0 / Firebug 1.7.3中的相同行为(Firebug忽略调试器;动态加载代码中的语句)。

Worked around by detaching Firebug window ("Open Firebug in New Window").

通过分离Firebug窗口(“在新窗口中打开Firebug”)解决了这个问题。

#5


-2  

There's also a 'debugger' keyword that's supported by the IE JScript debugger, and Safari's Web Inspector, so i would be surprised ifit wasn't supported in firebug.

还有一个'调试器'关键字,IE JScript调试器和Safari的Web Inspector支持,所以如果firebug不支持我会感到惊讶。

Basically:

基本上:

// mydynamicallyloadedfile.js
... // do stuff
debugger; // triggers debugger
... // more stuff

And i would expect firebug to break at the debugger keyword

我希望firebug能够打破调试器关键字


推荐阅读
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • 深入解析 JavaScript 代码执行流程:理解执行上下文与变量提升机制
    本文深入探讨了JavaScript代码的执行流程,重点解析了执行上下文和变量提升机制。通过详细分析代码解析过程,帮助开发者更好地理解JavaScript中的作用域和执行环境,为编写高效、无误的代码提供理论支持。 ... [详细]
  • 软件开发史上最具影响力的十位编程大师(附图解)
    在软件开发领域,有十位编程大师对行业发展产生了深远影响。本文基于国外知名社区的一项评选,通过图文并茂的形式,详细介绍了这十位杰出人物,包括游戏开发先驱John Carmack等,为读者呈现了他们卓越的技术贡献与创新精神。 ... [详细]
  • 本文旨在构建一个JavaScript函数,用于对用户输入的电子邮件地址和密码进行有效性验证。该函数将确保输入符合标准格式,并检查密码强度,以提升用户账户的安全性。通过集成正则表达式和条件判断语句,该方法能够有效防止常见的输入错误,同时提供即时反馈,改善用户体验。 ... [详细]
  • 如何高效地压缩JavaScript代码以提升网页性能
    本篇内容介绍了“javascript如何压缩”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处 ... [详细]
  • 如何使网页自适应电脑屏幕分辨率?
    在1024*768或者800*600的分辨率下可以自动调整成适用于该客户端分辨率的大小。  第一种方法:做一个网页解决问题(长了点)  如果只是因为浏览者改变了浏览器的设置,或者因为浏览器不兼容,使自 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 本文详细探讨了使用纯JavaScript开发经典贪吃蛇游戏的技术细节和实现方法。通过具体的代码示例,深入解析了游戏逻辑、动画效果及用户交互的实现过程,为开发者提供了宝贵的参考和实践经验。 ... [详细]
  • 本文探讨了如何通过检测浏览器类型来动态加载特定的npm包,从而优化前端性能。具体而言,仅在用户使用Edge浏览器时加载相关包,以提升页面加载速度和整体用户体验。此外,文章还介绍了实现这一目标的技术细节和最佳实践,包括使用User-Agent字符串进行浏览器识别、条件加载策略以及性能监控方法。 ... [详细]
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • 定义Function类型:1functionsum(num1,num2){return num1+num2;}2varsumfunction(num1,num2){returnn ... [详细]
author-avatar
louning5257_364
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有