Javascript chromebug-window.scroll方法拦截DOM渲染

Javascript chromebug-window.scroll方法拦截DOM渲染,javascript,dom,google-chrome,rendering,chromium,Javascript,Dom,Google Chrome,Rendering,Chromium,首先,使用此页面上的导航菜单(左侧): 我正在使用javascipt在单击时更新这些li元素的dom背景色 Firefox渲染更新的DOM元素,但Chrom和Chromium不渲染它们 使用Chromium的document inspector,我可以清楚地看到li元素的背景色已正确更新,但它们没有被渲染。有趣的是,当我将光标悬停在Chrom的document inspector中未渲染的html元素上后,它将继续并呈现DOM更改 我该怎么解决这个问题呢?我想出来了。Chrom有一个渲染错误

首先,使用此页面上的导航菜单(左侧):

我正在使用javascipt在单击时更新这些li元素的dom背景色

Firefox渲染更新的DOM元素,但Chrom和Chromium不渲染它们

使用Chromium的document inspector,我可以清楚地看到li元素的背景色已正确更新,但它们没有被渲染。有趣的是,当我将光标悬停在Chrom的document inspector中未渲染的html元素上后,它将继续并呈现DOM更改


我该怎么解决这个问题呢?

我想出来了。Chrom有一个渲染错误

如果在更新某些DOM属性后立即调用窗口滚动函数,Chrom将无法完全呈现所有DOM修改

要解决此问题,我将替换此行:

window.scroll(0,docPos);
setTimeout('window.scroll(0,' + docPos + ')',1);
这一行:

window.scroll(0,docPos);
setTimeout('window.scroll(0,' + docPos + ')',1);

这使Chrom能够在窗口滚动渲染错误停止之前渲染dom更改。

我找到了答案。Chrom有一个渲染错误

如果在更新某些DOM属性后立即调用窗口滚动函数,Chrom将无法完全呈现所有DOM修改

要解决此问题,我将替换此行:

window.scroll(0,docPos);
setTimeout('window.scroll(0,' + docPos + ')',1);
这一行:

window.scroll(0,docPos);
setTimeout('window.scroll(0,' + docPos + ')',1);

这使Chrom能够在窗口滚动渲染错误停止之前渲染dom更改。

我通过Chrom的“帮助”菜单提交了该错误,但该方法没有为您提供跟踪链接。这确实很烦人,但在调试时浪费了大约25分钟的时间。我通过Chrom的“帮助”菜单提交了该错误,但这种方法并没有提供跟踪链接。这是一个非常烦人的问题,但我在调试它时浪费了大约25分钟的时间。