0

我终于能够在我的常规/首选浏览器 Chrome 中运行一个旧网站。我试图了解如何在 F12 工具中单步执行 javascript 代码。当我看不到如何访问脚本代码时,我做了一些研究,发现 ASP.NET 项目的 javascript 调试(据说?)只能在 IE 中完成。

所以在项目中,我将使用的浏览器从 Chrome 切换到了 IE。现在,当我尝试从 VS IDE 打开该站点时,它会因异常而中断:

在此处输入图像描述

为什么 Chrome 会愉快地忽略这一点,或者为什么 IE 不高兴地提出这个问题?

在 Chrome 中,我看到了各种 ScriptResource 文件:

在此处输入图像描述

...但这些似乎是除了网站的自定义 javascript 之外的一切——微软和 Telerik 代码。

此 ASP.NET 站点以 .NET 3.5 为目标;即 11; 视觉工作室 2013。

4

3 回答 3

4

您正在请求 Cookies 集合中的项目。这个 cookie 很可能存在于 Chrome 中,它没有给出异常。并且可能在 Internet Explorer 中不存在此 cookie,您会在其中遇到异常。

如果 Request.Cookies[...] 在进一步处理之前,请始终检查结果是否为空。

于 2016-12-19T08:15:49.800 回答
1

检查您初始化 Request.Cookies(PortalHelper.BUTTON_MEMBER) 的位置,以在您期望该值存在之前验证您是否实际运行该代码。在该代码行和错误代码行设置断点,然后通过 IDE 通过 IE 运行以查看首先运行的代码。

在 IDE 中,您可能会跳过一部分通过 Chrome 的代码,这些代码要么不是,要么是您之前通过其他工作流程初始化的。

于 2016-12-19T14:22:57.160 回答
1

不确定您是否要求修复您的实际代码问题?还是只是询问 chrome 和 IE 之间的行为差​​异?

如果是后者,那只是 VS 正在启动一个 IE js 调试会话并因错误而中断(您会在 VS 中看到 JS 正在调试)。当浏览器开发工具还很新生(尤其是对于 IE)时,这是一个有用的功能,现在已经不多了。使用 chrome 运行时没有这样的 VS 浏览器调试会话,因此无声运行。

如果您只是打开一个新的浏览器并点击您正在运行的服务器的 URL(它不会有 VS 进程挂钩),IE 也会进行静默运行。

于 2016-12-19T14:56:05.253 回答