2015-10-04 64 views
1

我正在测试我的应用程序,并且它在Chrome,FF和Safari中工作,但不会在IE8中加载。我看到一个空白屏幕和开发人员工具在js文件的开头报告错误。 我得到的错误是Emberjs IE8对象预计错误

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

前6行的js文件是:

"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。 什么原因导致错误,我该怎么办才能解决?

谢谢。

回答

0

你说得对,emberjs 1.13应该支持IE8,但也有几件事情,可能会导致它在IE8打破:

如果它工作在开发环境中,但不是生产,很可能是你正在使用UglifyJS v2.7,它已经放弃了对IE8的支持。通过添加您可以重新启用IE8的支持下,以余烬-CLI-build.js

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 } 
     } 
    } 
    }); 

本博客文章解释比较详细 -
Getting Ember JS to work with Internet Explorer 8

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