首页 > 解决方案 > 折叠在 IE11 上不起作用(Object.keys:参数不是对象)

问题描述

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

控制台中的错误

我发现相关问题Object.keys not working in Internet Explorer here 但不适用于我的代码(对我没有帮助)。请帮助我,解决这个问题?

提前致谢。

标签: javascriptinternet-explorerdombootstrap-4collapse

解决方案


由于这被标记为“bootstrap-4”,我假设它与Bootstrap 4.1.0 中的这个错误有关,其中所有可折叠项在 IE11 中都是不可关闭的。

更具体地说,是 Bootstrapsjs/src/collapse.js中的第 334 行导致了问题。它由引用此页面更改
...typeof config === 'object' && config
...typeof config === 'object' && config ? config : {}

如果config 不是对象,则为 false。在 IE 中,Object.keys(false) 导致错误,而现代浏览器返回 []” 该错误已在后续版本中修复。我最近在一个项目中遇到了同样的问题,将 Bootstrap 更新到 4.1.1 版解决了这个问题。 (使用(或更高版本)更新 package.json并运行。)


"bootstrap": "v4.1.1"npm install

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


推荐阅读