代码改变世界

scrollTop doesn't scroll on Chrome 61

2017-09-14 11:57  曾祥展  阅读(352)  评论(0编辑  收藏

在chrome61 不支持滚动 解决方案:

Use document.scrollingElement if supported, and fall back to the current code.

For example, if the current (problematic) code is something like:

function bodyOrHtml() => {
	if (navigator.userAgent.indexOf('WebKit') != -1) {
		return document.body;
	}
	return document.documentElement;
}
...
bodyOrHtml().scrollTop = 100;

 

下面是最好的解决方法:

function bodyOrHtml() => {
	if ('scrollingElement' in document) {
		return document.scrollingElement;
	}
	// Fallback for legacy browsers
	if (navigator.userAgent.indexOf('WebKit') != -1) {
		return document.body;
	}
	return document.documentElement;
}
...
bodyOrHtml().scrollTop = 100;


参考:https://dev.opera.com/articles/fixing-the-scrolltop-bug/