ie8 加载不到js 报SCRIPT1028: 缺少标识符、字符串或数字 ;SCRIPT5009: “anorectaSearch”未定义


实例1:

1 a.jsp

    <script src="search.js" type="text/javascript"></script>
    <div>
         <a href="javascript:void(0)" id="import" οnclick="anorectaSearch.import()">导入</a>
    </div>

2 a.js

 var anorectaSearch = (function() {

    $(function() {   
        alert(1);
    });  

    function importTable(){
        var dialogParams = {
                id : "d1",
                url : "/showAnorectaImport",
                param : {},
                height : 20,
                width : 75,
                title : "导入"
        };
        $.dialog(dialogParams);        
    }

   return {
        import :importTable    
    };
 })();

3 问题症状:

  页面加载不到search.js, alert(1)不弹出;ie8, F12调试,报SCRIPT1028: 缺少标识符、字符串或数字 ;

  点击页面 “导入”,F12调试,报SCRIPT5009: “anorectaSearch”未定义;

  火狐,谷歌,ie9都正常;仅ie8有问题;

4 原因:js的错误导致js加载的失败,进而“anorectaSearch”未定义

  return {
        import : importTable    
    };

中应该为

  return {
        importTable : importTable    
    };

前后名称一致,同方法名一致即可;

jsp : <a href="javascript:void(0)" id="import" οnclick="anorectaSearch.importTable ()">导入</a>



实例2:点击页面查询按钮,js正常调用,但list框刷新,但list不显示;火狐,谷歌,ie9都正常;仅ie8有问题

1  b.jsp :

<div class="section"  id="top_all">
    <div class="searchbox">
        <form id="searchForm">    
            <table>
                <tr>
                    <td >
                          <span οnclick="anorectaSearch.search(1)" >&nbsp;</span>
                    </td>
                </tr>
            </table>
         </form>
    </div>
    <div id="resultDiv">
    </div>

</div>

</div>


2  原因:多了一个</div>,去掉即可。


总结:火狐,谷歌,ie9都正常;仅ie8有问题;这种现象:先查js和jsp的格式是否严格,例如 js的逗号“,”“;”问题, jsp里的多一个</div></td>等,ie8对这些要求严格;

chrome 下能成功加载js, ie加载不成功的原因只有一个:你的js代码没有严格按照规范来写

比如说: var a={one:1,two:2,}
这句代码是可以再chrome下执行成功的,但ie下会报错!
改成var a={one:1,two:2} ie就能识别了!




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值