IE8对象预期错误

Emberjs IE8 Object expected error

本文关键字:错误 对象 IE8      更新时间:2023-09-26

我正在测试我的应用程序,虽然它在Chrome, FF和Safari中工作,但它无法在IE8中加载。我看到一个空白的屏幕,开发人员工具在js文件的开头报告了一个错误。我得到的错误是

Object expected at certilogo-f7ce...js at line 6 character 1

js文件的前6行是:

"use strict";
/* jshint ignore:start */
/* jshint ignore:end */
define('certilogo/adapters/application', ['exports', 'ember-data', 'certilogo/config/environment'], function (exports, DS, ENV) {

第6行以define(....)开头。

我使用emberjs 1.13.9和ember-data版本1.13.11根据文档emberjs版本1.13。x应该支持IE8。是什么导致了错误,我能做些什么来解决?

谢谢。

你是对的,emberjs 1.13应该支持IE8,但是有一些事情会导致它在IE8中中断:

如果它可以在开发环境中工作,但不能在生产环境中工作,那么很可能你使用的是UglifyJS v2.7,它已经放弃了对IE8的支持。你可以通过在ember-cli-build.js

中添加以下代码来重新启用IE8支持
  var app = new EmberApp(defaults, {
    // Force UglifyJS 2.7.0 + to support IE 8
    minifyJS: {
      options: {
        compress: { screw_ie8: false },
        mangle:   { screw_ie8: false },
        output:   { screw_ie8: false }
      }
    }
  });

这篇博文更详细地解释了它-
让Ember JS在Internet Explorer 8下工作

另一方面,如果IE8不能在开发环境中工作,很可能是插件的问题。我知道IE8中的ember-i18n会中断。试着一次删除一个插件,看看是否能修复它。