摆脱Visual Studio中的[动态] JavaScript视图

时间:2012-12-05 15:19:19

标签: javascript visual-studio-2010 debugging

自从我在大约2个月前从头开始安装Visual Studio 2010以来,调试在IE中运行的JavaScript代码时,它的行为略有不同。

  • 当我设置一个断点时,它会在标题中打开一个带有术语“[dynamic]”的副本,并在那里标记断点。
  • 在执行期间发生JavaScript错误时,它会在标记引发错误的代码行之前执行相同的操作。
  • 此“动态”视图是可编辑的,但编辑无效 - 它们不会保存到文件中。

我发现这种行为非常不舒服。每次我在调试过程中发现代码中出现错误时,我都会在动态视图中修复它。我点击了保存。 VS不抱怨。接下来我在IE中刷新页面,然后 - 砰 - 更改丢失,它会再次加载未触及的旧版本。

我无法找到如何关闭这些观点。在我重新安装Visual Studio之前,它没有这样做。它只会为HTML文件中的内联脚本标记中的脚本创建“动态”视图。

7 个答案:

答案 0 :(得分:40)

试试这个  IE>互联网选项>设置(在浏览历史记录下)>检查存储页面的新版本:每次访问网页时。

这在IE10中适用于我。

enter image description here

其他选项是打开开发人员工具并选择缓存选项始终从服务器刷新,如下图所示

enter image description here

答案 1 :(得分:15)

尝试在网页上点击CTRL + F5。这对我有用。

问题是我从之前的调试会话中打开了其他IE窗口,因此动态javascript文件仍然被缓存。

答案 2 :(得分:3)

打开开发人员工具 - F12 - 也应该在每次刷新时清除页面的缓存文件。

答案 3 :(得分:2)

将有问题的JS文件的编码从Windows代码页更改为UTF-8,为我解决了这个问题。

缩小范围,文件中的OEM扩展ASCII字符(例如我用于子弹的ALT-254)会触发Windows代码页文件的问题。

(Visual Studio 2013 Update 5,IE11)

答案 4 :(得分:2)

对于Google Chrome:

  • 打开开发人员工具(F12)
  • 打开Network Conditions工具
  • 选择Disable Cache

enter image description here

答案 5 :(得分:1)

我遇到了无法在新代码中遇到断点的问题。并且同一页面中旧代码的断点将显示[动态]版本。编辑的页面不会重新加载。这对我来说一周前在VS2012和VS2013都开始了。使用刷新页面和/或Ctl-F5对我来说不起作用。但是,阅读此主题指向我使用F12打开开发人员工具。让那个窗口打开,同时点击刷新就可以了。谢谢你们。

答案 6 :(得分:0)

  

1)运行未经调试的页面(调试->无需调试即可启动

     

2)在Internet Explorer中打开网页时,按Ctrl-F5   IE缓存已清除。确保IE具有焦点。

     

3)关闭IE,然后使用Debugging(Debug-> Start)重新运行页面   调试)。

这为我解决了这个问题。