IE11不兼容array.from()解决方法
function selectAll(){ let check = Array.from(document.getElementsByClassName("chk"));check.forEach(function(i){if(i.classList.contains("checkbox_false_full")){i.click();}});
}
前端页面写了个方法,在chorme上可以使用,但在ie上无法使用,查了下资料,发现IE11不兼容array.from方法,网上找了几个方法:
if(!Array.from){Array.from = function(iterable){// IE(包括IE11)没有这个方法,用[].slice.call(new Uint8Array..代替return [].slice.call(new Uint8Array(iterable));}
}
一开始找到了这个方法,但是并未成功,没有深究原因。
// Production steps of ECMA-262, Edition 6, 22.1.2.1
// Reference: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from
if (!Array.from) {Array.from = (function () {var toStr = Object.prototype.toString;var isCallable = function (fn) {return typeof fn === 'function' || toStr.call(fn) === '[object Function]';};var toInteger = function (value) {var number = Number(value);if (isNaN(number)) { return 0; }if (number === 0 || !isFinite(number)) { return number; }return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));};var maxSafeInteger = Math.pow(2, 53) - 1;var toLength = function (value) {var len = toInteger(value);return Math.min(Math.max(len, 0), maxSafeInteger);};var toItems = function (value) {// support setif (value.size > 0 && value.values) {let values = value.values()var it = values.next()var o = []while (!it.done) {o.push(it.value)it = values.next()}return o}return Object(value);};// The length property of the from method is 1.return function from(arrayLike/*, mapFn, thisArg */) {// 1. Let C be the this value.var C = this;// 2. Let items be ToObject(arrayLike).var items = toItems(arrayLike);// 3. ReturnIfAbrupt(items).if (arrayLike == null) {throw new TypeError("Array.from requires an array-like object - not null or undefined");}// 4. If mapfn is undefined, then let mapping be false.var mapFn = arguments.length > 1 ? arguments[1] : void undefined;var T;if (typeof mapFn !== 'undefined') {// 5. else // 5. a If IsCallable(mapfn) is false, throw a TypeError exception.if (!isCallable(mapFn)) {throw new TypeError('Array.from: when provided, the second argument must be a function');}// 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.if (arguments.length > 2) {T = arguments[2];}}// 10. Let lenValue be Get(items, "length").// 11. Let len be ToLength(lenValue).var len = toLength(items.length);// 13. If IsConstructor(C) is true, then// 13. a. Let A be the result of calling the [[Construct]] internal method // of C with an argument list containing the single item len.// 14. a. Else, Let A be ArrayCreate(len).var A = isCallable(C) ? Object(new C(len)) : new Array(len);// 16. Let k be 0.var k = 0;// 17. Repeat, while k < len… (also steps a - h)var kValue;while (k < len) {kValue = items[k];if (mapFn) {A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);} else {A[k] = kValue;}k += 1;}// 18. Let putStatus be Put(A, "length", len, true).A.length = len;// 20. Return A.return A;};}());
}
后来在链接(https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/from)中找到了解决代码
IE11不兼容array.from()解决方法相关推荐
- JS中常遇到的浏览器兼容问题和解决方法
JS中常遇到的浏览器兼容问题和解决方法 参考文章: (1)JS中常遇到的浏览器兼容问题和解决方法 (2)https://www.cnblogs.com/wws-bk/p/9770834.html 备忘 ...
- ie8不兼容java项目_[Java教程]ie8以下不兼容document.getElementsByName解决方法
[Java教程]ie8以下不兼容document.getElementsByName解决方法 0 2016-09-13 19:00:06 在IE8以认为只有文本标签才有name属性的,一些元素标签用d ...
- “const char *“ 类型的实参与 “char *“ 类型的形参不兼容错误的解决方法
"const char *" 类型的实参与 "char *" 类型的形参不兼容错误的解决方法 参考文章: (1)"const char *" ...
- IE8常见兼容问题及解决方法总结
IE8常见兼容问题及解决方法总结 参考文章: (1)IE8常见兼容问题及解决方法总结 (2)https://www.cnblogs.com/toggle/p/10184181.html (3)http ...
- css文本框圆角不兼容,CSS教程之重置默认样式与IE兼容圆角的解决方法
CSS教程之重置默认样式与IE兼容圆角的解决方法 IE兼容css教程3圆角的htc解决方法 现在css3的border-radius属性可以很方便的实现圆角功能,对网站前台人员无疑是一件喜事,但悲剧的 ...
- ie11打不开html超链接,IE11打不开网页解决方法
IE11有着干净.简洁的页面,大多数人采用的浏览器也是它,但有时电脑打开网页,例如从 www.hao123.com 进入百度.腾讯.新浪等,会出现网页空白的情况,那么IE11打开网页空白怎么办?IE1 ...
- ie11不识别html5影片,IE11无法显示flash?IE11无法播放视频的解决方法
ie11无法显示flash怎么办呢?ie11无法播放视频了,ie10也出现同样的问题,这该怎么办呢?下面小编就给你带来ie11无法显示flash解决方法. 方法一:关闭IE10/IE11的Active ...
- 浏览器兼容问题及解决方法
出现浏览器兼容问题,主要是由于浏览器内核不相同. 对于浏览器兼容问题,总结为HTML.JavaScript兼容,CSS兼容. HTML相关问题易处理,无非高版本浏览器用了低版本浏览器无法识别元素,导致 ...
- VM VMware Workstation与 Device/Credential Guard 不兼容 Windows下解决方法
启动虚拟机时,跳出: VM 与 Device/Credential Guard 不兼容.在禁用 Device/Credential Guard 后,可以运行 VM. 解决方法: 一.打开服务,找到HV ...
最新文章
- 004_常用词汇句子翻译记录
- git 合并两个分支的某个文件
- 检测未定义的对象属性
- docker strace ptrace 报错 Operation not permitted 解决方法
- java连接字符串_Java字符串连接运算符
- Python 使用CORS跨域资源共享解决flask服务器跨域问题、浏览器同源策略
- 搜索推荐炼丹笔记:融合GNN、图谱、多模态的推荐
- css 菜单栏悬停_在CSS中构建悬停菜单
- 关于SQL Server 2005服务无法启动,报3417错误。(附带重装SQL时解决COM+目录问题)(转帖)
- 008_MAC 终端使用技巧
- VC++使用dump定位release程序崩溃问题
- 双线性对在密码学中的应用(上)
- 一种基于深度神经网络的临床记录ICD自动编码方法
- 教你js生成二维码-QrCodeJS
- DTC标准故障码格式解析
- 利用cad计算型材的弹性模量_已知阶梯形直杆受力如图所示,材料的弹性模量
- 给定一个数组,求数组的最大连续子数组,使得该子数组的和最大
- 爱荷华州立大学计算机学院,爱荷华州立大学最新qs世界排名
- 短视频直播平台系统app开发搭建方案,助力企业搭建细分领域短视频app,开发多种短视频变现模式
- 【第九章】vim程序编辑器
热门文章
- xilinx ip xdc修改
- ROT13 - 维基百科,自由的百科全书
- 科研|学生举报导师和院长剽窃其本科论文,校方处理结果令人失望!
- 巨杉数据库荣获2021年度广州创新力大奖
- cr2.sh和phpupdate.out挖矿程序处理
- mysql 1433端口映射_常见路由器的1433端口映射讲解
- Simulink移动机器人仿真学习--Trick记录
- 软件工程小组项目——单词计数
- 【E文件解析】Java实现E文件解析为对象
- 月租最便宜的手机卡_月租最便宜的手机卡:联通19元手机卡套餐怎么免费办理?...