Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在webkit中,在页面呈现与页面加载时发出运行脚本_Javascript_Google Chrome_Webkit_Rendering - Fatal编程技术网

Javascript 在webkit中,在页面呈现与页面加载时发出运行脚本

Javascript 在webkit中,在页面呈现与页面加载时发出运行脚本,javascript,google-chrome,webkit,rendering,Javascript,Google Chrome,Webkit,Rendering,我有一个使用一些元素偏移量的脚本。我打算通过以下方式启动此脚本: window.addEventListener('load', function() { ... } 当我使用这个方法时,所有的DOM元素都被定义了,但是偏移量值是错误的。我可以通过关闭一些css值来获得提供的偏移量。我应用了一个快速/糟糕的解决方案: window.addEventListener('load', function() { function my_func(){ ...

我有一个使用一些元素偏移量的脚本。我打算通过以下方式启动此脚本:

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>

...
我通过删除“#wrap div”的节点列表来访问偏移量。 如果我关闭“线高”和“字体大小”,我将获得在布局完全渲染之前计算的偏移量


在使用offsetHeight之前,调整每个p和div的行高、字体大小和显示不会产生任何影响

您应该使用
load
而不是
ready
或on-page-render,因为您不知道CSS和图像何时完成加载


如果您的偏移量在
加载中不正确
则会发生其他情况。

…这。。。抵消?你是怎么读的?你在哪里读的?你有没有可能使用网络字体?他们是在启动onload之前加载的吗?我发现有趣的是,超时执行会纠正偏移量。你是在动态加载其他资源吗?(更多CSS?)。我在css中使用@import作为字体。我是否应该用javaScript发出请求,这样我就可以在StatChange上启动它,或者是否有办法等待它加载。我不知道。。有?我从未使用过CSS的这个特性。