在webkit中,在页面渲染和页面加载上发布运行脚本
issue runing script on page render vs page load, in webkit
我有一个脚本,使用一些元素偏移。我打算用以下命令启动这个脚本:
window.addEventListener('load', function() {
...
}
当我使用这个方法时,所有的DOM元素都被定义了,但是偏移值是错误的。我可以通过关闭一些css值来获得提供的偏移量。我应用的一个快速/糟糕的修复:
window.addEventListener('load', function() {
function my_func(){
...
}
window.setTimeout(my_func, 1000);
});
这渲染正确的偏移量,但我只是觉得它的管道胶带。
我最后一次尝试是强迫webkit渲染,但这也有错误的偏移量:
window.addEventListener('load', function() {
function my_func(){
...
}
document.getElementById('wrap').style.display = 'none';
document.getElementById('wrap').style.display = 'block';
my_func();
});
有什么建议吗?或者解释为什么会发生这种情况。我测试的浏览器是Chrome。
编辑:
偏移量属于dom结构:
<div id="wrap">
<div>
<p>...</p>
<p>...</p>
<p>...</p>
</div>
<div>
<p>...</p>
</div>
...
</div>
我通过(for)跳过"#wrapdiv"的节点列表来访问偏移量。如果我关闭行高和字体大小,我将获得在布局完全渲染之前计算的偏移量。
在使用offsetHeight之前调整每个p和div的行高,字体大小和显示,没有影响。
你应该使用load
而不是ready
或在页面渲染,因为你不知道你的CSS和图像何时完成加载。
如果你的偏移量在load
中不正确,那么就有别的事情发生了
相关文章:
- ng应用程序使脚本无限运行
- 如何让C#代码在页面加载时运行的jquery脚本之后运行
- 为什么我的脚本正在运行动画,但没有显示它
- 此脚本在运行时停止
- HTML脚本不断运行
- 如何避免在我没有的远程脚本上运行javascript错误't控制
- 我的基于节点的咖啡脚本未运行(错误%1不是有效的应用程序.)
- 脚本仅运行一次
- 为什么这个脚本从不运行
- 如何使用 shell 脚本文件运行我的节点脚本
- Upstart说我的脚本正在运行,但API在我重新启动进程之前不返回数据
- 一个单独的Perl脚本可以运行一个网站的JavaScript函数吗?
- 我的脚本只运行一次,我想要无限次而不重新加载 html 页面
- 无法使此简单脚本正确运行
- 为什么不是'我的'周期'脚本正在运行
- PHP脚本重新运行自己,直到进程完成.然后每周重新启动
- 我的谷歌电子表格脚本只运行一个函数.我把剧本编错了吗
- 打字机脚本在运行一次后停止运行
- 在独立脚本上运行的函数在另一个脚本Javascript node.js上不起作用
- javascript是否正确地链接到html?为什么脚本没有运行