问题标签 [javascript-debugger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1651 浏览

javascript - 是否可以审核页面上正在执行的 javascript 方法?

我的目标是能够查看自审计开始以来执行了哪些 javascript 函数。这与我在每个已加载的 javascript 文件中的每个方法的开头放置一个断点,然后写下所有具有被命中断点的函数的列表最为相似。

这个工具存在吗?如果没有,为什么开发人员不需要它?我发现自己在看一个页面,看到“某事”正在发生,但无法掌握正在发生的事情。在大型环境中,我可以看到这项任务变得难以克服。

干杯

0 投票
3 回答
66 浏览

jquery - 如何查看我在 $.getJSON 中使用的 url

我有以下代码片段并正在尝试调试它。有没有办法获取 .getJSON 调用正在调用的完整 url 字符串?

0 投票
1 回答
838 浏览

javascript - 如何使用 FileSystem API 调试 Javascript?执行顺序问题

我正在调试一个用 Javascript 编写的复杂程序。我需要观察一个大矩阵的变化。使用 Chrome Inspect Element 查看矩阵中的每个元素并不方便。所以,我想将数据写入文本文件。我找到了 FileSystem API 和终端。

我已经将 FileSystem API 集成到我的项目中,参考 FileSystem 终端项目。我定义了一个全局变量来存储 fs.root 。我想要的是在调试时将此变量传递给我的程序,这样我就可以使用这个 fs.root 将数据转储到文本文件中。我请求文件系统:

但是“onInitFs”函数似乎是一个消息响应函数,调用得很晚。即使在“onLoad='MyFun();'”之后。所以,我不知道把我自己的函数放在哪里,以确保定义了变量“fs.root”。现在,我把“MyFun()”放到了任何地方,都会产生一个“fs.root”没有定义的错误,因为“onInitFs”函数没有被调用。我已经测试了调用顺序:

-------------main.html

-------------MyFun.js

所以,在 Chrome Inspect Element 的控制台窗口中: 01Position 02Position 03Position 04Position

我可以启用比“MyFun()”更早的“onInitFun()”函数吗?或者我应该把“MyFun()”放在哪里,所以它可以在“onInitFun()”之后调用。我不希望用户单击一个按钮,因为 MyFun 只是在加载时进行预处理工作。我可以生成一条消息,所以“MyFun()”会比“onInitFs()”更晚被调用吗?

0 投票
8 回答
147365 浏览

debugging - 禁用右键单击时如何检查chrome中的元素?

我想调试一个当我将鼠标悬停在谷歌地图标记上时显示的信息框。但是谷歌地图禁止右键单击地图画布上的任意位置,因此我无法检查元素以进行调试/查看。

我试图通过元素选项卡中的 href 内容搜索元素,但它没有显示在搜索中。

尽管缺少右键单击,有没有办法检查元素?

0 投票
3 回答
3335 浏览

javascript - 如何使用 Firebug 或任何其他方式查找/分析正在“立即”执行的 JavaScript?

我正在研究这个页面:http ://www.fxstreet.com/rates-charts/currency-rates/由 JavaScript 不断更新来自服务器的新数据。很明显,页面中不断执行一些 JavaScript 函数。所以我打开了 Firebug,我没有看到任何“分析器”类型的输出会不断添加有关执行脚本的新信息。“脚本”选项卡仅显示 46 条不太清晰的记录,没有时间戳,也没有任何迹象表明有持续的新 JavaScript 活动需要分析。

我究竟做错了什么?我如何去探索页面上的 JavaScript 活动?

0 投票
10 回答
15465 浏览

google-chrome - 谷歌浏览器开发者工具包很慢

一段时间以来,我一直在使用 Google Chrome 的开发工具包(元素检查、堆栈跟踪、javascript 调试等)并取得了巨大的成功。

然而,大约两周前,它突然变得非常缓慢。例如,当我在 UI 中右键单击一个元素,然后单击“检查元素”,或者当我只是按 F12 时,代码窗口需要 30-45 秒才能出现。它曾经在不到一秒钟的时间内发生。

有没有其他人遇到过这个问题?如果是这样,你能纠正它吗?如何?

提前致谢!

马特

0 投票
11 回答
13029 浏览

google-chrome - customize chrome developer tool javascript debugger keyboard shortcuts?

I can't believe that neither a Google or SO search has turned up a definitive answer or even much discussion for this, but:

Is it possible to edit/customize keyboard shortcuts in the Google Chrome JavaScript debugger? if so, how?

I'm used to Eclipse's F5/F6/F7/F8 debugger step into/over/out of/resume keys, and want the same bindings in Google Chrome. F10/F11 are default Expose keys for OSX and therefore not ideal for debugger control.

I'm open to unorthodox solutions, e.g. Quicksilver/AppleScript.

Related, but not-quite-helpful, pages:

0 投票
1 回答
563 浏览

javascript - How to find JavaScript run when an event is hooked up unobtrusively

I am working on a web page that contains check boxes that do some stuff when they are clicked, or changed. There is no explicit event binding in the HTML itself. I have literally no idea how the event binding has been done and no way to find what JavaScript is being run when the checkboxes are changed (other than the page uses jQuery in other places).

The JavaScript itself is spread out in several locations in the HTML itself, plus in a whole bunch of additional JavaScript files. This would make just sticking breakpoints everywhere in the JavaScript difficult.

Is there any way, using some debugging environment for example, to find out what JavaScript is run when I change the values of these checkboxes?

0 投票
3 回答
10456 浏览

javascript - “DOMContent 事件”和“加载事件”有什么区别

在 chrome 的开发者工具中,蓝色竖线标记为“DOMContent 事件触发”,红线标记为“加载事件触发”。“DOMContent 事件被触发”是否意味着浏览器开始执行内联 javascript?而“加载事件触发”意味着它触发“onload”事件?

0 投票
0 回答
764 浏览

c# - 在 C# 中禁用脚本调试

我想禁用臭名昭著的弹出窗口以进行脚本调试

我试过代码:

它不适用于仅此代码。我不得不更改 Internet Explorer 选项中的设置。我不得不禁用脚本调试(其他)并禁用脚本调试(Internet Explorer)。

有什么办法可以通过编写一些代码来做到这一点,这样就不需要更改 IE 设置,因为我想让应用程序可移植?