javascript - habilitar - El cuerpo de Chrome 61 no se desplaza
instalar javascript chrome (2)
¿Alguien sabe por qué asignar
scrollTop
en el elemento del cuerpo ya no funciona?
por ejemplo:
document.body.scrollTop = 200
hace que el documento no se desplace.
Causa : Chrome finalmente hizo que las especificaciones de desplazamiento sean compatibles con la versión 61
Solución : use scrollingElement
Actualice el ejemplo a:
var scrollNode = document.scrollingElement ?
document.scrollingElement : document.body;
scrollNode.scrollTop = 200;
Hola, tengo un problema similar y terminé de agregar este código al documento listo y funciona. Además, tengo problemas con algunas informaciones sobre herramientas que se extraviaron y este código lo solucionó.
window.onload = function () {
var GetDocumentScrollTop = function () {
var isScrollBodyIE = ASPx.Browser.IE && ASPx.GetCurrentStyle(document.body).overflow == "hidden" && document.body.scrollTop > 0;
if (ASPx.Browser.WebKitFamily || isScrollBodyIE) {
if (ASPx.Browser.MacOSMobilePlatform)
return window.pageYOffset;
else if (ASPx.Browser.WebKitFamily)
return document.documentElement.scrollTop || document.body.scrollTop;
return document.body.scrollTop;
}
else
return document.documentElement.scrollTop;
};
var _aspxGetDocumentScrollTop = function () {
if (__aspxWebKitFamily) {
if (__aspxMacOSMobilePlatform)
return window.pageYOffset;
else
return document.documentElement.scrollTop || document.body.scrollTop;
}
else
return document.documentElement.scrollTop;
}
if (window._aspxGetDocumentScrollTop) {
window._aspxGetDocumentScrollTop = _aspxGetDocumentScrollTop;
window.ASPxClientUtils.GetDocumentScrollTop = _aspxGetDocumentScrollTop;
} else {
window.ASPx.GetDocumentScrollTop = GetDocumentScrollTop;
window.ASPxClientUtils.GetDocumentScrollTop = GetDocumentScrollTop;
}
};
Espero que esto pueda ayudarte.
Gracias
La solución descrita al final de esta pregunta (verificar
document.scrollingElement
o volver a
document.body
) no funcionará en IE, ya que no admite
document.scrollingElement
(
docs
), y en IE, el elemento de desplazamiento es el elemento HTML
Por lo tanto, sugeriría que una solución mejor para esto sería algo así como;
var scrollNode = document.scrollingElement || document.documentElement;
Lo que debería funcionar para todos los navegadores modernos.
Como nota al margen, es interesante considerar que la propiedad
scrollingElement
parece haber sido agregada con el único propósito de hacer que
no
necesitemos verificaciones / retrocesos para obtener el elemento de desplazamiento raíz, pero debido a más incompatibilidades del navegador, todavía necesita una comprobación / reserva para usar
scrollingElement
.
¿No es divertido el desarrollo web?