Javascript substr方法在某些浏览器下行为出现BUG的补丁代码
2014-01-16 14:48
417 查看
主要思路是使用兼容性和稳定性都保持一致的substring方法重写/覆盖substr
/** * String.substr() bug fix * @param start * @param len * @returns */ String.prototype.substr = function(start, len) { var str = this; var l = str.length; if(start >= l) return ''; if(arguments.length == 1) { if(start >= 0 && start < l) return str.substring(start); if(start < -length) return str; if(start<0 && start >= -l) return str.substring(l + start); } if(len <= 0) return ''; if(start >= 0 && start < l) { if(len > l - start) len = l - start; return str.substring(start, start + len); } if(start < -l) { if(len >= l) return str; return str.substring(0, len); } if(start<0 && start >= -l) { if(len >= -start) return str.substring(l+start); return str.substring(l+start, l+start+len); } return ''; };
相关文章推荐
- servlet层调用biz业务层出现浏览器 500错误,解决方法 dao数据访问层 数据库Util工具类都可能出错 通过新建一个测试类复制代码逐步测试查找出最终出错原因
- 在android中使用proguard混淆代码出现“Conversion to Dalvik format failed with error 1”错误的解决方法
- stm32f103c8t6移植uCOS Ⅲ出现Error: L6407W,解决方法:内核配置以减小代码规模
- IE Bug--浮动对象外补丁的双倍距离的解决方法
- 下载代码完成,不报错,但在前台浏览器不出现下载的内容
- 部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法
- android 代码中文出现乱码解决方法
- Win10系统KB3081424累积补丁更新后出现反复重启的BUG
- zencart修改代码屏蔽中文浏览器的方法
- 服务器出现 HTTP 错误代码,及解决方法
- 最常用的10种CSS BUG解决方法与技巧-浏览器兼容教程
- Build SDK时出现BUG的解决方法
- 根据浏览器和分辨率调用CSS代码的方法
- vim粘贴代码出现乱码的解决方法
- 浏览器兼容性问题,为什么同一段JavaScript代码,不同浏览器上为什么会产生不同效果,甚至bug?浏览器不就是严格按照JavaScript语法进行的吗?java代码为什么从来没听过有什么兼容问题?
- VS2008 新建某些项目的时候,出现 未能找到路径 xxxx 的一部分 解决方法
- 实时编辑dom的代码,包含新的判断浏览器核心及版本的方法,留存参考
- JavaWeb不要使用Eclipse内置浏览器!好处:F12检查JavaWeb页面代码Bug和避免“假的bug”
- win7 安装.Net framework 4.0出现 安装不成功,错误代码0x80240037 的解决方法
- 打开页面后调用方法$(function() {});在浏览器控制台出现Uncaught ReferenceError: $ is not defined