在头部脚本完成之前,Chrome会显示正文

时间:2015-07-13 12:30:58

标签: javascript html dom tags rendering

据我所知,浏览器假设在脚本到达脚本时停止呈现DOM,直到脚本完成。

但是,如果我写一个

window.open('Mypage.aspx?ID=0', '_top'); 
在头标记处,我仍然可以看到一个快速的闪烁'在打开新页面之前。 我甚至试图在身体标签之前创造一个人工延迟,但无济于事。 我怎样才能避免那种闪烁?

示例:

<html>
<head>
<title>aa</title>
<script type="text/javascript">window.open('MyPage.aspx?ID=0', '_top');

 var now = new Date().getTime();
    while(new Date().getTime() < now + 3000){ /* force delay */ } 

</script></head><body style="background-color:red">
initial page
</body>

1 个答案:

答案 0 :(得分:2)

在Chrome中,您可以在脚本的第一行使用window.stop();来停止html渲染。

虽然对我来说,用css类来管理它似乎更加一致,以隐藏/显示它何时适合。