26

我正在运行一个显示事件日历的插件。除了 IE 兼容模式外,它适用于所有浏览器。选中该选项后,日历就会消失。我相信这是一个 JS 错误。

IE 调试器错误:

element.qtip({
    content: {
    text: event.description,
    title: {
    text: 'Description',
    }
  },
position: {
    at: 'top right',
    adjust: {
    x: 0, y: 30
   },
},

在我的插件编辑器中,这是代码:

element.qtip({
  content: {
  text: event.description,
  title: {
  text: '<?php _e('Description', 'event_espresso'); ?>',
  }
},
position: {
   at: 'top right',
   adjust: {
   x: 0, y: 30
  },
},

我不擅长调试,所以任何帮助将不胜感激。

如果它有帮助,这里是页面:http ://www.mbausa.org/calendar/

4

7 回答 7

45

Internet Explorer 在对象和数组中的尾随逗号有问题;

title: {
    text: 'Description', //<--
}

你可能想要:

title: {
    text: 'Description'
}
于 2012-10-01T14:51:23.013 回答
11

此错误有 2 个常见原因。不恰当时使用尾随逗号,或使用 JavaScript 保留字。在您的情况下,您有 2 个不必要的逗号。下面是正确的代码片段,其中包含我删除逗号的注释。

element.qtip({
  content: {
  text: event.description,
  title: {
    text: '<?php _e('Description', 'event_espresso'); ?>' // Removed Comma
  }
},
position: {
  at: 'top right',
  adjust: {
    x: 0, y: 30
  } // Removed Comma
},

我实际上做了一篇博文(和视频),解释了错误并展示了示例和修复。可以在这里找到:http: //mikemclin.net/fixing-error-script1028-expected-identifier-string-or-number/

于 2013-02-23T05:35:42.667 回答
8

旧版 IE 不支持格式错误的 JSON 字符串。

如果后面没有大括号 '['、荣誉 '{' 或新的对象属性,则永远不要使用逗号 ',' 分隔符。

尝试 :

position: {
at: 'top right',
adjust: {
   x: 0, y: 30
  } // <-- no comma here
},

代替 :

position: {
at: 'top right',
adjust: {
   x: 0, y: 30
  }, // <-- comma here
},
于 2012-10-01T14:52:54.143 回答
6

如果您使用的是 Vuex 并且问题在computed钩子调用中表现出来mapState,那么问题出在扩展运算符上。

},
computed: {
  ...mapState({

使用 babel 修复它: https ://babeljs.io/docs/en/babel-plugin-proposal-object-rest-spread

于 2019-01-23T09:29:17.680 回答
3

您可以强制使用非兼容模式,而不是使用兼容模式...

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

在你的<head>标签中。

于 2012-10-01T14:51:37.450 回答
1

另一个可能的错误是由于保留关键字被用作哈希键。

定义 Javascript 对象时出现 IE8 错误?

当我使用时,{class:'icon'}我也会收到此错误。其他 IE8 关键字也可能会这样做。

于 2014-11-05T07:31:39.343 回答
0

尝试导入 ES6 模块而不通过 Babel 或类似工具进行编译时出现此错误。

该行产生了错误:

从 'my-npm-ES6-module' 导入 myES6module

解决方案是确保您的工作流程实际上将其转换为与浏览器兼容的 JavaScript。

于 2020-05-12T08:10:54.850 回答