折叠不能在IE11上工作(Object.keys:参数不是对象)

时间:2018-06-04 08:30:04

标签: javascript internet-explorer dom bootstrap-4 collapse

可折叠(隐藏和显示数据)在其他浏览器(opera,chrome)中正常工作。但是来到IE onclick(在公司上如图所示)数据显示(扩展),Onclick在同一浏览器上标签/按钮(公司)数据未隐藏。控制台错误显示为Object.keys: argument is not an Object

error in console

我在此处找到了相关问题Object.keys not working in internet Explorer ,但不适用于我的代码(没有帮助我)。 请帮帮我,解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:5)

因为它被标记为“ bootstrap-4”,所以我假设它与this bug in Bootstrap 4.1.0有关,在此{@ 3}}中所有可折叠的文件在IE11中都无法关闭。

更具体地说,是引导程序js/src/collapse.js中的334行引起了问题。从
更改为 ...typeof config === 'object' && config
...typeof config === 'object' && config ? config : {}

引用this page: “如果config不是对象,则为false。在IE中,Object.keys(false)导致错误,而现代浏览器返回[]”

该错误已在后续版本中修复。我最近在一个项目中遇到了相同的问题,将Bootstrap更新到版本4.1.1修复了该问题。
(使用"bootstrap": "v4.1.1"(或更高版本)更新package.json并运行npm install。)

  

TL; DR:这是一个Bootstrap错误。将Bootstrap更新到4.1.1或更高版本。