angular - Spårning av scroll fungerar inte med Internet Explorer 11
Jag har följande kod:
this.currentScrollYSub = Observable.fromEvent(window, 'scroll')
.throttleTime(5)
.subscribe(e => {
this.scrollY = window.scrollY;
console.log(window.scrollY); // Result: undefined
});
Vilket fungerar alldeles utmärkt på Chrome, men jag märkte att på IE 10 och IE 11 fungerar det inte.
Hur kan jag få detta att fungera på Internet Explorer 11?
REDIGERA
Jag försökte också något liknande detta:
@HostListener('window:scroll', ['$event'])
track(event) {
console.debug("Scroll Event ", document.body.scrollTop); // Result: "Scroll Event 0"
}
@HostListener('window:scroll', ['$event'])
track(event) {
console.debug("Scroll Event ", this.scrollY); // Result: "Scroll Event undefined"
}
Svar #1
https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY
Internet Explorer: Ingen support
Du kan använda något som:
return {
x: window.pageXOffset || document.documentElement.scrollLeft,
y: window.pageYOffset || document.documentElement.scrollTop
};
https://github.com/ReactTraining/react-router/issues/605