Bootstrap-select 无法在 IE8 上使用及解决!
发布时间:2020-12-17 21:07:05 所属栏目:安全 来源:网络整理
导读:众所周知,Bootstrap是来自 Twitter 的基于HTML、CSS、JavaScript 的、移动设备优先的、并被所有主流浏览器支持的、用于快速开发 web 应用程序和网站的前端框架。 最近也打算用Bootstrap 的组件开发自己的网页,为了统一风格,用到了?silviomoreto 提供的 Bo
众所周知,Bootstrap是来自 Twitter 的基于HTML、CSS、JavaScript 的、移动设备优先的、并被所有主流浏览器支持的、用于快速开发 web 应用程序和网站的前端框架。 最近也打算用Bootstrap 的组件开发自己的网页,为了统一风格,用到了?silviomoreto 提供的 Bootstrap 风格的select 控件,但遇到了一个问题,那就是?Bootstrap-select 可以在 Chrome 35 上正常显示并使用,但在 IE8 却无法显示,代码如下: <!DOCTYPE html> <html> <head> <title>Test Bootstrap example!</title> <link href="Styles/bootstrap.css" rel="stylesheet" type="text/css" /> <link href="Styles/bootstrap-select.min.css" rel="stylesheet" type="text/css" /> <!-- Optional theme --> <script src="Scripts/jquery-1.11.1.min.js" type="text/javascript"></script> <script src="Scripts/bootstrap.min.js" type="text/javascript"></script> <script src="Scripts/bootstrap-select.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function () { $('.selectpicker').selectpicker(); $('.selectpicker').selectpicker({ style: 'btn-info',size: 4 }); }); </script> </head> <body> <select class="selectpicker"> <option>Mustard</option> <option>Ketchup</option> <option>Relish</option> </select> </body> </html> 用 IE8 打开发现是这句话出错: $('.selectpicker').selectpicker(); 原以为是 IE8 本身对 Bootstrap 的兼容性不好,所以加入了以下 js 文件: <script src="Scripts/html5shiv.js" type="text/javascript"></script> <script src="Scripts/respond.min.js" type="text/javascript"></script> 但还是没有效果,然后就在 Google 上搜,发现是这个错误: There is an error in the htmlEscape function; IE8 says Message: Object doesn't support this property or method Line: 63 Char: 5 Code: 0 URI: bootstrap-select/js/bootstrap-select.js Line 63 is var source = '(?:' + Object.keys(escapeMap).join('|') + ')',Solution would be to add a polyfill for browsers that don't support Object.keys() Object.keys = Object.keys || function( o,// object k,// key r // result array ) { // initialize object and result r = []; // iterate over object keys for (k in o) // fill result array with non-prototypical keys r.hasOwnProperty.call(o,k) && r.push(k); // return result return r }; 就是在?bootstrap-select.min.js 里无法解析?Object.keys() 对象,我们在该 js 文件的后面加上对它的解析方法就行了, OK,问题已经解决了!? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |