OneThink后台管理列表的搜索代码优化
在使用OneThink的时候,它后台的原生搜索js代码在IE中会出现内存溢出的问题,也就是说在IE中无法使用搜索功能。
问题的关键出现在这两句代码上,它是用于筛选不为空的项。
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,''); query = query.replace(/^&/g,'');
如果要让它在IE上支持,必须要改造一下代码。
原代码
//搜索功能 $("#search").click(function(){ var url = $(this).attr('url'); var query = $('.search-form').find('input').serialize(); query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,''); query = query.replace(/^&/g,''); if( url.indexOf('?')>0 ){ url += '&' + query; }else{ url += '?' + query; } window.location.href = url; });
改造后的代码
//搜索功能 $("#search").click(function(){ var url = $(this).attr('url'); var status = $("#sch-sort-txt").attr("data"); var query_obj= $(".search-form input").filter(function(index) { return $(this).val() != ''; });//筛选为空的项 var query = query_obj.serialize(); if(status != ''){ query = 'status=' + status + "&" + query; } if( url.indexOf('?')>0 ){ url += '&' + query; }else{ url += '?' + query; } window.location.href = url; });
原文链接: http://www.devdo.net/onethink-search-optimization.html

浙公网安备 33010602011771号