Var with 打破 IE 11 [重复]

Posted

技术标签:

【中文标题】Var with 打破 IE 11 [重复]【英文标题】:Var with break IE 11 [duplicate]Var with 打破 IE 11 [重复] 【发布时间】:2020-08-18 12:41:07 【问题描述】:

我在我的网站上使用 slideToggle 作为变量时遇到问题。我正在使用 domSlider。当我尝试以下操作时,我遇到了我无法理解的问题。

如果将 slideToggle 定义为:

var slideToggle = window.domSlider;

我在 IE 11 中得到 SCRIPT1010: Expected identifier。但适用于 Chrome 和现代浏览器。

如果我将其定义为:

var slideToggle = window.domSlider;

我在 chrome 和其他现代浏览器中收到 Uncaught TypeError: slideToggle is not a function。但在 IE 11 中没有错误。

我不知道是什么原因造成的,以及如何从这里继续。

【问题讨论】:

【参考方案1】:

IE11 不支持解构赋值:Browser_compatibility

var  slideToggle  = window.domSlider;

应该是:

var slideToggle = window.domSlider.slideToggle;

在IE11中工作,或者你可以直接使用window.domSlider.slideToggle

【讨论】:

非常感谢您。我会在几分钟内将其标记为答案。【参考方案2】:

var item = func() 构造称为解构。旧的 Redmond Middle School Science Project (IE11) 不支持它;它来自他们停止在 IE 上工作后的 javascript 版本。

如果您的目标是 IE,请滚动到描述该功能的 MDN 页面底部。对于您的示例,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment# 它说明了哪些浏览器支持该功能。

还有一个名为 CanIUse.com 的网站,其中包含有关浏览器支持的逐个功能信息。

有一个名为Babel 的转译器(将新javascript 转换为旧javascript 的编译器)。你可以试试。但是解释如何在你的项目中安装它对于一个 SO 答案来说太过分了。

欢迎来到为糟糕的旧版浏览器开发代码的美妙世界。微软放弃自己的浏览器开发并采用 Chromium 是有充分理由的。

【讨论】:

以上是关于Var with 打破 IE 11 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

PEP8在断言中打破长字符串[重复]

ie7中的动画重复

IE 11 Flexbox子溢出容器[重复]

如果条件语句不适用于 IE 11 [重复]

Flexbox定位IE11 [重复]

IE11中的Flex项目溢出[重复]