为什么我的javascript文件没有在IE7中"一致"加载?

Joh*_*yre 13 javascript asp.net internet-explorer

在似乎是随机出现的情况下,javascript文件未加载.

我相信这个诊断是正确的,因为a)我有代码要检查,b)我已经完成了代码,并且c)当使用这些文件中的函数时,我得到"'myfunction'未定义"错误.

有时这不会发生一个小时,有时它会在我每次加载页面时发生,有时它会在我加载页面时发生.似乎每当我确定一致的行为,所以我可以重复它并进行诊断,它会发生变化!

有没有人知道可能导致这种情况的原因是什么?

我正在使用 :

  • IE版本7.0.5730.11(已卸载并卸载IE8 Beta)
  • VS2008

现在,它似乎只发生在我的同事和我的开发环境中.

有一个脚本似乎比任何其他脚本都缺少.这是脚本标记.

<script language="javascript" 
        type="text/javascript" 
        src="js/Ajax.Utility.js?<%= ConfigurationManager.AppSettings["WebApp.JavaScript.FileVersion"].ToString() %>"></script>
Run Code Online (Sandbox Code Playgroud)

评估为

<script language="javascript" 
        type="text/javascript" 
        src="js/Ajax.Utility.js?090324a"></script>
Run Code Online (Sandbox Code Playgroud)

版本查询字符串参数似乎没有任何影响,因为我在更改它之后立即遇到了问题.

Abd*_*bdo 6

我之前遇到过这个问题两次.它始终是Javascript代码中的语法错误.很可能是一个额外的支架或一个缺少的支架.所有其他浏览器都通过,但IE7不是.

试验和错误(删除代码块和代码块)使我找到了解决方案.

我希望这有帮助 :-)


abh*_*jit 5

以防万一得出的答案没有成功 -

IE7默认情况下不从本地文件加载Javascript.通常,您将获得信息栏下降并指示.您必须单击栏并选择"允许阻止的内容",然后IE7将重新加载启用了Javascript的页面.

这种行为是一致的.但是,如果某些系统禁用了信息栏的显示,现在您可以了解问题所在.

我的建议是在HTML页面顶部添加一个<noscript>标签,并使用CSS使用粗体红色背景对其进行样式化,这样您就不会错过它.StackOverflow使用这种技术.

这样一来,你肯定会知道Javascript是否因安全原因没有加载.


Joh*_*yre 4

仅供有同样问题的人参考。

这个问题从未得到解决,但我现在相信它与 Visual Studio Development Server 有关,并且我怀疑如果我使用 IIS,是否会发生这种情况。不幸的是,我不再从事该项目,所以我无法测试它。