我正在使用IE9调试网络应用。我在加载页面后对javascript做了一些更改。我无法让IE9停止使用新代码。消息是“未加载文档中的代码”。我可以在没有调试时设置断点,但是当我开始调试时它们将无效。我正在使用IE7浏览模式,IE7文档模式。
我尝试过的事情:
下一步尝试(我猜)将完全关闭IE。这是解决这个问题吗?如果是这样,那就好了。设置页面需要几分钟的时间,所以在每次JS更改后都会发生故障。我可以使用FF4开发JS,但我看到的JS问题是针对IE7的,所以我必须这样做。
>> 如何让IE9(在IE7模式下运行)可靠地从服务器调试最新的JS?
答案 0 :(得分:3)
此问题与缓存等无关.IE9在新代码中遇到脚本错误(缺少关闭paren),并且不允许在脚本中的任何位置使用断点。虽然IE似乎对脚本错误非常安静。无论如何,修复脚本错误修复了断点/缓存的问题。
答案 1 :(得分:2)
如果您有权访问该代码:
在你的javascript文件引用中添加一个查询字符串,如下所示:
<script src="Scripts/main.js?v=1" type="text/javascript"></script>
每次更改js文件时,将v
值更改为其他内容,就像浏览器会认为这是一个新文件一样,并且会得到它。
答案 2 :(得分:1)
添加:
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 App并使用IE时,它适用于我。
答案 3 :(得分:1)
我发现此问题基于“未加载文档中的代码”错误消息。我没有使用IE7文档模式或其中任何一种,只是IE9。
与jcollum一样,我的问题与缓存无关。
我正在使用MVC.Net,有人设置了一段javascript来依赖ViewBag中的字符串。我改变了一些东西,ViewBag字符串消失了,所以生成的javascript看起来像这样:
if(!()) {
// Some code
}
Javascript就在这里死了,并且不会处理块中的其余代码。这很令人困惑,因为它仍然试图在一组不同的脚本标签中执行javascript,但它依赖于另一个不会加载的块中的变量集。
所以,基本上,语法错误是通过奇怪的方式引入的,并且调试器拒绝加载它之后的一些代码。关于ViewBag危险的另一个教训。