Надстройка Outlook, встроенная с использованием углового отображения пустого экрана в приложении Windows Outlook до сборки 1903 года

#angular #outlook #outlook-addin #outlook-web-addins #polyfills

Вопрос:

Мы разрабатываем надстройку Outlook с использованием angular. Надстройка работает в IE11, Edge, Chrome и Safari, но в версиях настольных приложений Windows Outlook ( Вот мой файл pollyfills:

 /***************************************************************************************************
 * BROWSER POLYFILLS
 */

/** IE10 and IE11 requires the following for NgClass support on SVG elements */
import 'classlist.js'; // Run `npm install --save classlist.js`.
import 'intersection-observer';
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';
import 'core-js/es7/array';

import 'core-js/es6/reflect';
import 'core-js/es7/reflect'; 

Я также добавил

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

в index.html.

Эти два решения я мог бы найти в Google, но они не работают.

Вот ошибки, которые я получаю:

 Exception was thrown at line 1, column 25670 in mydomain.com/polyfills- 
es5.39e9f85b88cc5eac0d73.js
0x800a138f - JavaScript runtime error: Object.getPrototypeOf: 'this' is not an Object
Exception was thrown at line 1, column 203956 in mydomain.com/polyfills- 
es5.39e9f85b88cc5eac0d73.js
0x800a138f - JavaScript runtime error: Object.keys: argument is not an Object
Exception was thrown at line 1, column 46550 in mydomain.com/polyfills- 
es5.39e9f85b88cc5eac0d73.js
0x800a138f - JavaScript runtime error: Object.freeze: argument is not an Object
Exception was thrown at line 1, column 1586 in mydomain.com/polyfills- 
es5.39e9f85b88cc5eac0d73.js
0x800a138f - JavaScript runtime error: Object.seal: argument is not an Object
 

Любая помощь в этом вопросе была бы полезна. Спасибо

Ответ №1:

AngularJS зависит от нескольких API window.history, эти API не поддерживаются настольной средой выполнения IE. Поэтому при использовании AngularJS вы должны аннулировать API window.history, добавив <script>window.history.replaceState=null;window.history.pushState=null;</script> в свой index.html страница. Кроме того, всегда полезно проверять наличие проблем с заполнением при использовании IE webview.