2012-03-05 101 views
1

我有一个简单的功能外部js文件。它们在aspx页面中工作良好。当它们位于外部js文件中时,我在开发机器上发现该函数未定义的错误。在IE9中玩了两天之后,我在FF中试了一下,它工作的很好。然后,它也在IE9中工作。我有第二个网站有同样的问题。我再次检查了它,并没有在IE9中工作,然后在FF中检查它,它工作,然后它继续在IE9中工作。有什么可能导致这种情况?外部js文件问题

+5

可能是您的缓存。 – AutoSponge 2012-03-05 22:31:39

+0

我该如何测试/修复该问题? – nlehman 2012-03-05 22:38:43

+0

@nlehman无论何时您对脚本进行更改,在页面加载后至少一次点击f5。您可以使用IE9的开发人员工具中的“网络”选项卡来确保您获得脚本的新版本(结果= 200)而不是缓存版本(结果= 304) – 2012-03-05 22:51:06

回答

0

最终这取决于文件是否通过<script>标签正确包含在页面中。如果一个浏览器可以解析错误的引用而另一个浏览器不能,我会感到惊讶,因为最终确定文件路径是否正确是服务器的工作。因此请检查您的包含机制是否始终正确包含文件。例如,您可以使用Fiddler运行跟踪,并在浏览器请求脚本时查看任何404错误。

另一种可能性是脚本本身被正确包含,但它包含Firefox接受的有效但IE9不支持的语法或引用。例如,对console的引用会在某些版本的IE中弹出,但在Chrome中可以正常工作。检查您的脚本是否有效。

+0

但是,为什么它在IE之后?它看起来像是在我的开发机器中有些东西是腐败的,并且在FF中测试后得到了无损。 – nlehman 2012-03-05 22:38:03

+0

你可能缓存?尝试关闭所有缓存并查看是否有帮助。 – kprobst 2012-03-05 22:39:44

+0

我该如何在我的开发机上做到这一点? – nlehman 2012-03-05 22:41:44