Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 为什么页面之间只有铬白色闪烁?_Javascript_Jquery_Html_Css_Google Chrome - Fatal编程技术网

Javascript 为什么页面之间只有铬白色闪烁?

Javascript 为什么页面之间只有铬白色闪烁?,javascript,jquery,html,css,google-chrome,Javascript,Jquery,Html,Css,Google Chrome,我知道开发人员多次询问这个话题,并多次给出关于如何优化页面、优化脚本运行等的高质量答案,和/或建议选择不太华丽的背景。但我认为这是一个新的方面 当然,我的网页并没有得到完美的优化,但事实是:在测试我的网页时,这个非常不友好的空白页面(无论是什么颜色)只在Chrome中出现过。在FF和IE中进行测试时,无法在页面渲染之间看到任何空白页面 有人可能会想:在我的代码/css中有一些条件逻辑,检测Chrome。没有 而且,在Chrome中,页面实际上加载速度相同或更快 请注意:Chrome的这种渲染差

我知道开发人员多次询问这个话题,并多次给出关于如何优化页面、优化脚本运行等的高质量答案,和/或建议选择不太华丽的背景。但我认为这是一个新的方面

当然,我的网页并没有得到完美的优化,但事实是:在测试我的网页时,这个非常不友好的空白页面(无论是什么颜色)只在Chrome中出现过。在FF和IE中进行测试时,无法在页面渲染之间看到任何空白页面

  • 有人可能会想:在我的代码/css中有一些条件逻辑,检测Chrome。没有
  • 而且,在Chrome中,页面实际上加载速度相同或更快
  • 请注意:Chrome的这种渲染差异行为在许多外部世界的网站上都很容易体验到,而不仅仅是在我的网站上
我希望一定有办法迫使Chrome像其他浏览器一样以最用户友好的方式运行。有什么想法或经验可以分享吗

证明:

  • 好了,用Chrome
  • 键入以搜索“qwe”
  • 呈现页面后,按Ctrl+F5组合键。你应该会看到恼人的白色闪光

  • 后藤,用FF

  • 键入以搜索“qwe”
  • 呈现页面后,按Ctrl+F5组合键。没有办法看到任何闪光。页面仍在重新加载,完全查看状态栏,或者使用类似Fiddler的http调试器进行验证

  • 如果有人想要这段视频,请留下评论。

    这就是Chromes
    加载解析渲染等过程的工作原理。它会尽快开始渲染,即使实际上没有要显示的内容。所以你看到了白色的屏幕

    举两个例子就清楚了

    1.
    html

    现在,当解析器停止加载远程脚本时,它已经有了要显示的内容,这是在前面的
    script
    标记中生成的。除了
    脚本
    ,还可以有任何其他
    html
    内容,当加载和评估远程脚本时,引擎继续处理其余内容,并呈现它。这里的时间线是一样的

    现在,如果您在Firefox中打开该示例,您将看到同时呈现的
    。Firefox只是延迟第一次呈现,而不清除页面。在时间轴中,您将只看到一个
    Paint
    事件

    我在这里使用的
    jQuery
    仅用于网络加载目的,因为我需要一些不小的远程库,所以希望您能用肉眼看到渲染效果

    在第二个示例中,我使用了脚本生成的内容,因此您会注意到Firefox实际呈现的时间


    但很难说什么方法更好。就我个人而言,我喜欢当它真正显示出它所拥有的东西时,正如我当时看到的那样,真正的进步。

    你可以试试这个:白色闪烁?你是说福克吗?问题不在于铬。从地球的另一边或者从一台90年代的56k电脑上运行你的页面,你到处都会遇到这个问题。@SvenvandeScheur:我已经尝试过,(应用过,然后在Chrome开发工具中检查是否实际应用了样式(是)),但不幸的是仍然是相同的空白闪烁。你有这个测试用例吗,所以我们可以在我们自己的机器上看看是否正确?@DeblatonJean-Philippe:除了个人偏好之外,你是对的。这是我试图在我的问题的第一个,但似乎没有人对它感兴趣。。。
    <!DOCTYPE html>
    <html>
    <body>
        <script src='https://code.jquery.com/jquery-2.1.4.js'></script>
        <h4>Header</h4>
    </body>
    </html>
    
    <!DOCTYPE html>
    <html>
    <body>
        <script>
            function showTimespan() {
                var h4 = document.createElement('h4');
                h4.textContent = Date.now();
                document.body.appendChild(h4);
            }
            showTimespan();
        </script>
        <script src='https://code.jquery.com/jquery-2.1.4.js'></script>
        <script>
            showTimespan();
        </script>
    </body>
    </html>