Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 外部js文件问题_Javascript_Asp.net - Fatal编程技术网

Javascript 外部js文件问题

Javascript 外部js文件问题,javascript,asp.net,Javascript,Asp.net,我有一个带有一些简单函数的外部js文件。它们在aspx页面中工作正常。当它们位于外部js文件中时,我在dev机器上得到一个错误,该函数没有定义。在IE9中玩了两天之后,我在FF中试用了它,效果很好。然后,它在IE9中也起了作用。我有第二个网站有同样的问题。我再次检查,它在IE9中不工作,然后在FF中检查,它工作,然后在IE9中继续工作。可能的原因是什么?最终这取决于文件是否通过标记正确包含在页面中。如果一个浏览器可以解决一个错误的引用,而另一个浏览器不能,我会感到惊讶,因为确定文件路径是否正确最

我有一个带有一些简单函数的外部js文件。它们在aspx页面中工作正常。当它们位于外部js文件中时,我在dev机器上得到一个错误,该函数没有定义。在IE9中玩了两天之后,我在FF中试用了它,效果很好。然后,它在IE9中也起了作用。我有第二个网站有同样的问题。我再次检查,它在IE9中不工作,然后在FF中检查,它工作,然后在IE9中继续工作。可能的原因是什么?

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


另一种可能是脚本本身被正确包含,但它包含Firefox接受为有效的语法或引用,但IE9不接受。例如,在IE的某些版本中,对控制台的引用会爆炸,但在Chrome中可以正常工作。首先检查脚本是否有效。

但是为什么在那之后它会在IE中工作?在我的开发机器中似乎有什么东西被破坏了,在FF中测试后变得不受破坏。你可能正在缓存吗?尝试关闭所有缓存,看看是否有帮助。我如何在我的开发机器上做到这一点?最简单的方法是停止和启动您正在使用的任何web服务器,并查看是否可以通过这种方式重现问题。我已通过服务器图标停止了web服务器,并且这种情况继续发生。我甚至在这段时间内重新启动了。我如何测试/修复它?@nlehman无论何时更改脚本,请在页面加载后至少按f5一次。您可以使用IE9开发者工具中的“网络”选项卡来确保您得到的是脚本的新版本(结果=200),而不是缓存版本(结果=304)