AngularJS and quirks mode: blank screen on IE8+

断了今生、忘了曾经 提交于 2019-12-21 20:24:40

问题


I'm working on an Angular project that will be included in a HTML page I don't have control on. Actually I only have access to what is inside the <body> element.

There are many constraints which are not the easiest to deal with: 1- I can't change the doctype: 2- I can't remove this meta tag: 3- The app has to load an XML file

I managed to overcome points 1 and 3 but point 2 gives me a headache ! Here is the error I get when I test on IE8+ (it works fine on IE7 and other browsers):

[$sce:iequirks] http://errors.angularjs.org/1.2.12/$sce/iequirks IE8 in quirks mode is unsupported error in component $sce Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode. You can fix this by adding the text to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.

I found many solutions on forums but no one has worked so far... Especially hoped that disabling $sceProvider (code below) would make the app work on IE8+ but it didn't:

angular.module('ie7support', []).config(function($sceProvider) {
// Completely disable SCE to support IE7.
$sceProvider.enabled(false);`
});

I even tried to add <!doctype html> to the top of my HTML document, which I am not allowed to but which I did just for the test, and it doesn't solve the problem.

Any help or suggestions greatly appreciated cause I'm really stuck right now...

Thanks


回答1:


Got it !!

I simply needed to give the name of my app instead of silly "ie7support" in the code below:

angular.module('ie7support', []).config(function($sceProvider) {
// Completely disable SCE to support IE7.
$sceProvider.enabled(false);
});

Found thanks to a deeper look at this article: http://docs.angularjs.org/api/ng.$sce

Hope it can help some of you !




回答2:


IE in quirks mode is not supported by AngularJS




回答3:


Thanks for your answer Adam but according to these messages, disabling $sce completely helps AngularJS to support IE in quirks mode...

https://github.com/angular/angular.js/issues/3633

[$sce:iequirks] Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode



来源:https://stackoverflow.com/questions/21740857/angularjs-and-quirks-mode-blank-screen-on-ie8

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!