Added minimal polyfill for IntersectionObserver
This commit is contained in:
parent
b6c4968c6c
commit
49a6d8b7fa
@ -9,17 +9,30 @@ export class AnimeNotifier {
|
||||
|
||||
constructor(app: Application) {
|
||||
this.app = app
|
||||
this.visibilityObserver = new IntersectionObserver(
|
||||
entries => {
|
||||
for(let entry of entries) {
|
||||
if(entry.intersectionRatio > 0) {
|
||||
entry.target["became visible"]()
|
||||
this.visibilityObserver.unobserve(entry.target)
|
||||
|
||||
if("IntersectionObserver" in window) {
|
||||
// Enable lazy load
|
||||
this.visibilityObserver = new IntersectionObserver(
|
||||
entries => {
|
||||
for(let entry of entries) {
|
||||
if(entry.intersectionRatio > 0) {
|
||||
entry.target["became visible"]()
|
||||
this.visibilityObserver.unobserve(entry.target)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{}
|
||||
)
|
||||
},
|
||||
{}
|
||||
)
|
||||
} else {
|
||||
// Disable lazy load feature
|
||||
this.visibilityObserver = {
|
||||
disconnect: () => {},
|
||||
observe: (elem: HTMLElement) => {
|
||||
elem["became visible"]()
|
||||
},
|
||||
unobserve: (elem: HTMLElement) => {}
|
||||
} as IntersectionObserver
|
||||
}
|
||||
}
|
||||
|
||||
onReadyStateChange() {
|
||||
|
Loading…
Reference in New Issue
Block a user