解决js书写不规范引起的Expected identitifier,string or number
这几天一直在写项目,今天需要完成一个ajax的上传图片的任务,百度了别人的代码,然后在vs运行,在ie9测试没有问题,但是作为程序员我还是比较谨慎的,在ietest中打开ie6、ie7竟然不行。报错了,如图:
但是我自己看一下,这个是js引起的错误,但是这个uploadify这个插件使用jquery写的,在jquery官网上写着tested for compatibility in IE 6.0+, Firefox 3+, Safari 3.1+, Opera 9.6+, and Google Chrome.那应该是兼容所有的ie6版本以上的,于是我利用搜索引擎开始解决问题了,最后发现了一边外国人写的遇到相同问题,这里是连接:http://www.nutt.net/2008/07/21/javascript-error-expected-identifier-string-or-number-in-ie/。原来不是jquery问题,也不是uploadify插件的问题,而是后来使用uploadify写的jquery的代码的问题,问题在于最后一个逗号,在ie8、ie9上是不会报错的,那是因为浏览器已经有识别这种错误但是能“兼容”的能力,但是ie6、ie7是没有这个能力的,所以就报错了。最后贴上写的jquery代码。
<script type="text/javascript"> $(document).ready(function () { $("#uploadify").uploadify({ 'uploader': 'JS/jquery.uploadify-v2.1.0/uploadify.swf', 'script': 'UploadHandler.ashx', 'cancelImg': 'JS/jquery.uploadify-v2.1.0/cancel.png', 'folder': 'UploadFile', 'queueID': 'fileQueue', 'auto': false, 'multi': true //这里是不应该加上逗号的 }); }); </script>
Stallman 先生认为最大的快乐是让自己发展的软件让大家来使用了!