我已经使用 ngx-toastr 模块在我的 Angular 应用程序中显示 toastr 它在 Chorme、Firefox 中运行良好,但在 IE 中无法运行,即它在 ngOninit() 函数中运行,但在任何其他函数中都没有。从'ngx-toastr'导入{ToastrModule};
2 回答
在我的例子中,toast 容器显示在 DOM 中,但 toast 本身没有显示。(您可以检查这是否是您的情况,检查 DOM 并查找容器 div 具有的文本“toast-container”)。
我尝试取消注释 polyfill 行和所有内容,直到我意识到 IE 出于某种原因将 toast 设置为属性“display:none”。
对我有用的只是将其添加到我的 styles.scss 中:
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS styles go here */
.toast {
display: block !important;
}
}
@supports (-ms-accelerator:true) {
/* IE Edge 12+ CSS styles go here */
.toast {
display: block !important;
}
}
希望这可以帮助!
polyfills.ts
/**
该文件包含 Angular 所需的 polyfill,并在应用程序之前加载。
您可以将自己的额外 polyfill 添加到此文件中。
*
该文件分为 2 个部分:
- 浏览器 polyfill。这些在加载 ZoneJS 之前应用,并按浏览器排序。
- 应用程序导入。在 ZoneJS 之后导入的文件应该在你的 main 之前加载
文件。
*
当前设置用于所谓的“常青”浏览器;最新版本的浏览器
自动更新自己。这包括 Safari >= 10、Chrome >= 55(包括 Opera)、
桌面版 Edge >= 13,移动版 iOS 10 和 Chrome。
*
在https://angular.io/docs/ts/latest/guide/browser-support.html中了解更多信息
*/
/************************************************* ******************************************************
浏览器填充
*/
/** IE9、IE10 和 IE11 需要以下所有 polyfill。**/
导入'core-js/es6/symbol';
导入'core-js/es6/object';
导入'core-js/es6/function';
导入'core-js/es6/parse-int';
导入'core-js/es6/parse-float';
导入'core-js/es6/number';
导入'core-js/es6/math';
导入'core-js/es6/string';
导入'core-js/es6/date';
导入'core-js/es6/array';
导入'core-js/es6/regexp';
导入'core-js/es6/map';
导入'core-js/es6/weak-map';
导入'core-js/es6/set';
/** IE10 和 IE11 需要以下对 SVG 元素的 NgClass 支持 */
导入'classlist.js';// 运行npm install --save classlist.js
.
/** IE10 和 IE11 需要以下反射 API。*/
导入'core-js/es6/reflect';
/** Evergreen 浏览器需要这些。**/
// 用于 JIT 中的反射元数据。如果你使用 AOT(并且只有 Angular 装饰器),你可以删除。
导入'core-js/es7/reflect';
/**
网络动画
@angular/platform-browser/animations
只有在应用程序中使用 AnimationBuilder 并使用 IE/Edge 或 Safari 时才需要。
Angular 中的标准动画支持不需要任何 polyfill(从 Angular 6.0 开始)。
**/
导入“网络动画-js”;// 运行npm install --save web-animations-js
.
/**
默认情况下,zone.js 将修补所有可能的宏任务和 DomEvents
用户可以通过设置以下标志来禁用部分宏任务/DomEvents 补丁
*/
(任何窗口).__Zone_disable_requestAnimationFrame = true; // 禁用补丁 requestAnimationFrame
(任何窗口).__Zone_disable_on_property = true; // 禁用补丁 onProperty 例如 onclick
(任何窗口).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // 禁用补丁指定的事件名称
/*
在 IE/Edge 开发者工具中,addEventListener 也会被 zone.js 包裹
使用以下标志,它将绕过
zone.js
IE/Edge 的补丁*/
(任何窗口).__Zone_enable_cross_context_check = true;
/************************************************* ******************************************************
Angular 本身默认需要 Zone JS。
*/
导入'zone.js/dist/zone';// 包含在 Angular CLI 中。
/************************************************* ******************************************************
应用程序导入
*/
// 将全局添加到窗口,分配窗口本身的值。
(window as any)['global'] = window;
if (!Element.prototype.matches) {
Element.prototype.matches = (<any>Element.prototype).msMatchesSelector ||
Element.prototype.webkitMatchesSelector;
}
package.json { "name": "xtreme-admin-angular", "version": "0.0.0", "scripts": { "ng": "ng", "start": "node app.js", “build”:“ng build”,“test”:“ng test”,“lint”:“ng lint”,“e2e”:“ng e2e”,“postinstall”:“node patch-webpack.js”}, “私人”:真,“依赖”:{“@agm/core”:“^1.0.0-beta.7”,“@angular/animations”:“^7.0.1”,“@angular/common”: “^7.0.1”、“@angular/compiler”:“^7.0.1”、“@angular/core”:“^7.0.1”、“@angular/forms”:“^7.0.1”、“@angular/http": "^7.0.1", "@angular/platform-browser": "^7.0.1", "@angular/platform-browser-dynamic": "^7.0.1", "@angular /路由器”:“^7.0.1”,“@jaspero/ng-confirmations”:“^0.4.7”,“@jaspero/ng2-confirmations”:“^0.3.3”,“@ng-bootstrap/ng -bootstrap”:“^3.3.1”、“@swimlane/ngx-charts”:“^7.0.1”、“@swimlane/ngx-datatable”:“^13.1.0”、“@types/crypto-js ": "^3.1.43", "angular-calendar": "^0.25.2", "angular-datatables": "^6.0.0", "angular2-notifications": "^2.0.0", "bcryptjs ": "^2.4.3", "引导程序": "^4.1.3",“c3”:“^0.4.23”,“chart.js”:“^2.8.0”,“chartist”:“^0.11.3”,“classlist.js”:“^1.1.20150312”,“压缩“:“^1.7.4”、“core-js”:“^2.6.9”、“关键”:“^1.3.6”、“crypto-js”:“^3.1.9-1”、“d3 ": "^4.8.0", "datatables.net": "^1.10.16", "datatables.net-dt": "^1.10.16", "express": "^4.17.1", "express -simple-cdn”:“^1.0.1”,“jquery”:“^3.4.1”,“jspdf”:“^1.5.3”,“jspdf-autotable”:“^3.2.4”,“业力” -html-reporter": "^0.2.7", "karma-phantomjs-launcher”:“^1.0.4”,“karma-teamcity-reporter”:“^1.1.0”,“ng-chartist”:“^1.1.1”,“ng2-charts”:“^ 1.6.0”、“ng2-dragula”:“^1.5.0”、“ng2-file-upload”:“^1.3.0”、“ng2-smart-table”:“1.2.2”、“ngx-加载”:“^3.0.1”,“ngx-owl-carousel”:“^2.0.7”,“ngx-owl-carousel-o”:“^2.0.1”,“ngx-分页”:“^ 4.1.0”、“ngx-perfect-scrollbar”:“6.1.0”、“ngx-quill”:“^3.6.0”、“ngx-slick-carousel”:“^0.4.6”、“ngx-微调器": "^7.2.0", "ngx-toastr": "^8.7.3", "ngx-tooltip":“0.0.9”、“node-sass”:“^4.12.0”、“owl.carousel”:“^2.3.4”、“pace-js”:“^1.0.2”、“quill”: “^1.3.6”、“删除节点模块”:“^1.7.6”、“rxjs”:“^6.5.2”、“rxjs-compat”:“^6.5.2”、“脚本加载器” ": "^0.7.2", "slick-carousel": "^1.8.1", "web-animations-js": "^2.3.2", "zone.js": "^0.8.29" } , "devDependencies": { "@angular-builders/custom-webpack": "^8.2.0", "@angular-devkit/build-angular": "^0.10.7", "@angular/cli": " ~7.0.3", "@angular/compiler-cli": "^7.0.1", "@angular/language-service": "^7.0.1", "@types/c3": "^0.6.4", "@types/chartist": "^0.9.46", "@types/datatables.net ": "^1.10.17", "@types/jasmine": "~2.8.6", "@types/jasminewd2": "~2.0.3", "@types/jquery": "^3.3.22" ,“@types/node”:“~8.9.4”,“codelyzer”:“~4.2.1”,“css-aspect-ratio”:“^1.0.5”,“jasmine-core”:“~2.99 .1”、“jasmine-spec-reporter”:“~4.2.1”、“karma”:“~1.7.1”、“karma-chrome-launcher”:“~2.2.0”、“karma-coverage-伊斯坦布尔记者”:“~1.4.2”,“业力茉莉花”:“~1.1.1”,“karma-jasmine-html-reporter”:“^0.2.2”,“量角器”:“^5.4.2”,“ts-node”:“~5.0.1”,“tslint”:“~5.9.1 ", "typescript": "3.1.6" }, "browser": { "crypto": false, "stream": false } }