2015-10-04 34 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會中斷。嘗試一次刪除一個插件,看看它是否修復它。