了解 IE11 F12 开发人员工具中无法访问的断点

Understanding unreachable breakpoints in IE11 F12 Developer tools

我在尝试调试我们的网站时遇到一个问题,其中找不到特定的 javascript 例程。我不知道为什么,但我的想法是,如果 F12 开发工具由于某种原因无法访问代码,那么该脚本块中的任何内容都无法访问并且不会被执行。

有什么地方可以解释为什么一个脚本块中的代码可以访问,而另一个看似相同的块中的代码却无法访问?

似乎函数 positionCollectionList() 调用最终返回,而您案例中的下一个代码块 strDGLabel_ContributingFactors 未包含在任何函数中,因此无法调用或已执行,这意味着它是无法访问的代码。

为确保您可以尝试以下示例

尝试将以下代码保存为 html 文件并在 IE 中打开它,然后尝试在第 8 行保留一个断点,您将重现该问题。

<html>
<script>
var te;
</script>
<script>
var test="testing";
return;
te="test";
</script>
<body>
HI
</body>
</html>

谢谢

替换为 language="javascript" 或删除 language="JavaScript"

根据 https://msdn.microsoft.com/en-us/library/ms533940(v=vs.85).aspx 属性语言。

javascript

Script is JavaScript.

请参考this and this

虽然我把赏金奖励给了第一个 post,但实际的答案是 javascript 第二个块中的错误会使整个块的断点处理无效。

要对此进行诊断(如果代码不是您自己的,或者您很久以前写的并且忘记了在哪里进行了更改)是将每个例程分解为自己单独的块,然后找到该块仍然失败。然后,仔细梳理该例程以确定语法错误的原因 - 彻底!

一旦我确定了原因(错位的分号),就会为整个块重新启用断点。

其他原因可能是代码块由于重复的函数名称而无法访问。然而,这不是我的情况,所以我没有确认这是无法到​​达断点的可能原因。