Я создал приложение angular 7 и использовал Intersection Observer для отложенной загрузки некоторых элементов.Это работает как ветерок в Chrome, Mozilla и даже Edge.Но в IE11, когда начинается отложенная загрузка и запускается программа наблюдения за пересечениями, приложение зависает.Я добавил импорт 'intersection-наблюдатель' в polyfills.ts для поддержки IE11.Я запутался в этом поведении.
intersectionObserverForTableRow() {
const selectedNodeLists = document.getElementsByClassName('tableDataRow');
const tableIntersectionObserver = new IntersectionObserver((entries, tableIntersectionObserver) => {
entries.forEach((entry) => {
if (!this.hasNextPage) {
this.showShimmerRows = false;
tableIntersectionObserver.disconnect();
}
if (entry.isIntersecting) {
const el = entry.target;
// console.log(el.id, ('lazyLoadedObserver' + (this.currentTableContent.length - 1)))
if (el.id === ('lazyLoadedObserver' + (this.currentTableContent.length - 1))) {
// console.log('inside');
// this.currentTableContent = this.currentTableContent.concat(this.setDummyDataForTableRowShimmer());
this.setDummyDataForTableRowShimmer();
this.pageNumber++;
this.loadNextSetOfData.emit(this.pageNumber);
// console.log(this.currentTableContent)
// setTimeout(() => {
// this.triggerObserver(selectedNodeLists, tableIntersectionObserver)
// }, 10);
tableIntersectionObserver.unobserve(entry.target);
}
}
});
});
this.triggerObserver(selectedNodeLists, tableIntersectionObserver);
}