我怎样才能强制IE9“看到”?使用调试器时的最新javascript

how can I force IE9 to "see" the most current javascript when using the debugger?

本文关键字:调试器 javascript 最新 看到 IE9      更新时间:2023-09-26

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

我尝试过的事情:

    关闭开发工具窗口,重新打开
  • 停止调试,开始调试
  • 在开发工具窗口按Ctrl R(与清除浏览器缓存按钮相同)
  • 在IE9网页上按Ctrl R
  • Ie9网页上按Ctrl F5
  • 清除该域的浏览器缓存
  • 检查(设置)总是从服务器刷新缓存

下一个尝试(我猜)将是完全关闭IE。这就是解决办法吗?如果是这样,那就糟了。我花了几分钟的时间来设置页面,所以在每次JS更改之后,这样做真的很糟糕。我可以使用FF4来开发JS,但我看到的JS问题是IE7特有的,所以我必须这样做。

>>我怎样才能得到IE9(在IE7模式下运行)从服务器可靠地调试最新的JS ?

此问题与缓存等无关。IE9在新代码中遇到了一个脚本错误(缺少关闭括号),并且不允许脚本中的任何地方出现断点。IE似乎很安静的脚本错误虽然。无论如何,修复脚本错误修复了断点/缓存问题。

如果您可以访问代码:
在你的javascript文件中添加一个查询字符串,像这样:

<script src="Scripts/main.js?v=1" type="text/javascript"></script>

每次在js文件中更改v值时,浏览器会觉得这是一个新文件,并将其获取

添加:

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看起来像这样:

if(!()) {
    // Some code
}

Javascript就死在这里,不会处理块中的其余代码。这是令人困惑的,因为它仍然试图在一组不同的脚本标签中执行javascript,但它依赖于另一个块中的变量集,它不会加载。

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