我用的是Asp.net4.0 浏览器是IE6.0
网页代码:
<script type="text/javascript" scr="js/myjs.js"></script>
<script type="text/javascript">
//function Test(){
//alert("hello");
//}
</script>
<body>
<form>
<input type="button" onclick="Test()"/>
</form>
</body>
以上代码如果那个Test()函数在本页面中则没有任何问题,如果在myjs.js的时候就说没有缺少对象。搞得我好晕,调试之后有的时候还是好使的。不知道怎么搞得,就是在myjs.js中定义一个函数的时候在本页中用的时候有的时候好使有的时候不好用。

解决方案 »

  1.   

    <script type="text/javascript" scr="js/myjs.js"></script>把这个放在<head></head>里面。
      

  2.   

    <script type="text/javascript" scr="js/myjs.js"></script>=>
    <script type="text/javascript" src="js/myjs.js"></script>
      

  3.   

     呵呵,就是楼上的朋友发现的问题,把src打成了scr
      

  4.   

    <script type="text/javascript" scr="js/myjs.js?xxx"></script>
    让url的字符串不一样 每次更新了myjs。js就修改下?后面的xxx 整个比较简单实用另外可以在IIS里面设置文件的过期时间
    还有你怎么知道是缓存问题呢?没看你测试(比如你换浏览器 换其他文件名的js 修改函数名 ) 这样是很难确定问题
      

  5.   

    我用的是比较简单的方式,在Test()函数中alert(“asdflkj”);然后打开IE6.0运行查看alert是否执行,发现刚开始是不执行的然后清除IE缓存就执行,而有的时候是不清除IE缓存也是执行的,这个可能跟Asp.net页的生命周期有关系,当向服务器发送请求的时候服务器会判断是否需要编译该页,如果不需要则发送缓存中页,这可能就是导致这样的原因,然而js我是在单独的文件中定义的,这可能也是大致一样的执行原理,不太了解,希望您能给个答案。谢谢