我如何才能强制IE9“使用”;见;使用调试器时最新的javascript?

我如何才能强制IE9“使用”;见;使用调试器时最新的javascript?,javascript,debugging,internet-explorer-9,Javascript,Debugging,Internet Explorer 9,我正在使用IE9调试一个web应用程序。加载页面后,我对javascript做了一些更改。我无法让IE9停止使用新代码。消息为“未加载文档中的代码”。我可以在不调试时设置断点,但在开始调试时断点无效。我使用的是IE7浏览器模式,IE7文档模式 我尝试过的事情: 关闭“开发工具”窗口,然后重新打开 停止调试,开始调试 在“开发工具”窗口中按Ctrl R键(与清除浏览器缓存按钮相同) 在IE9网页上按Ctrl键R 在Ie9网页上按Ctrl键F5 清除此域的浏览器缓存 检查(设置)始终从服务器刷新缓

我正在使用IE9调试一个web应用程序。加载页面后,我对javascript做了一些更改。我无法让IE9停止使用新代码。消息为“未加载文档中的代码”。我可以在不调试时设置断点,但在开始调试时断点无效。我使用的是IE7浏览器模式,IE7文档模式

我尝试过的事情:

  • 关闭“开发工具”窗口,然后重新打开
  • 停止调试,开始调试
  • 在“开发工具”窗口中按Ctrl R键(与清除浏览器缓存按钮相同)
  • 在IE9网页上按Ctrl键R
  • 在Ie9网页上按Ctrl键F5
  • 清除此域的浏览器缓存
  • 检查(设置)始终从服务器刷新缓存
下一步尝试(我猜)将完全关闭IE。这就是解决这个问题的办法吗?如果是这样的话,真恶心。我花了几分钟的时间来设置页面,这样在每次JS更改后都会很糟糕。我可以使用FF4来开发JS,但是我看到的JS问题是IE7特有的,所以我必须这样做


>如何让IE9(在IE7模式下运行)可靠地从服务器调试最新的JS

如果您有权访问代码:
在javascript文件引用中添加查询字符串,如下所示:

<script src="Scripts/main.js?v=1" type="text/javascript"></script>
if(!()) {
    // Some code
}


每次你在js文件中更改
v
值时,都会将其更改为其他值,比如浏览器会觉得这是一个新文件,并且会得到它。

此问题与缓存等无关。IE9在新代码中遇到脚本错误(缺少关闭参数),并且不允许在脚本中的任何位置使用断点。不过IE对脚本错误似乎很沉默。无论如何,修复脚本错误修复了断点/缓存的问题

添加以下内容:

window.applicationCache.addEventListener('updateready', function (e)
{
  if (window.applicationCache.status == window.applicationCache.UPDATEREADY)
  {
    window.applicationCache.swapCache();
    if (confirm('A new version of this site is available. Load it?'))
     window.location.reload();
  }
}, false);

我在网上找到了这个解决方案。对不起,我不记得作者了。当我在Visual Studio中使用JavaScript调试Web应用程序并使用IE时,它对我很有用。

我根据“文档中的代码未加载”错误消息发现了这个问题。我没有使用IE7文档模式或其他任何模式,只是使用IE9

和jcollum一样,我的问题与缓存无关

我使用的是MVC.Net,有人设置了一段javascript来依赖ViewBag中的字符串。我做了一些更改,ViewBag字符串消失了,因此生成的javascript如下所示:

<script src="Scripts/main.js?v=1" type="text/javascript"></script>
if(!()) {
    // Some code
}
Javascript就死在这里,不会处理块中的其余代码。这是令人困惑的,因为它仍然试图在另一组脚本标记中执行javascript,但这依赖于它不会加载的另一个块中的变量集


因此,基本上,语法错误是通过奇怪的方式引入的,调试器拒绝加载其后的一些代码。关于ViewBag危险的另一个教训。

不要在生产中使用此方法,因为它会干扰缓存。是的,但当您希望所有网站用户都能获得上一版本中所做的更改时,它会很有用。嗯,在产品部署之前,似乎很容易被忘记。这是个不错的主意,但我希望能有一些更具体的IE9。FF4似乎对这个>:-(缓存是我开发过程中浪费时间的第一个原因。缺少括号是第二个原因。