Javascript Chrome在头脚本完成之前显示body

Javascript Chrome在头脚本完成之前显示body,javascript,html,dom,tags,rendering,Javascript,Html,Dom,Tags,Rendering,据我所知,浏览器假设在到达脚本时停止呈现DOM,直到脚本完成 但是,如果我写一个 window.open('Mypage.aspx?ID=0', '_top'); 在首页标签上,我仍然可以看到在新页面打开之前快速的“闪烁”。 我甚至试图在贴上尸体标签之前人为地拖延时间,但都没有用。 我怎样才能避免闪烁 例如: <html> <head> <title>aa</title> <script type="text/javascript">

据我所知,浏览器假设在到达脚本时停止呈现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>

aa
window.open('MyPage.aspx?ID=0','u top');
var now=new Date().getTime();
while(new Date().getTime()
在Chrome中,您可以使用
window.stop()将停止html呈现


虽然对我来说,使用css类来管理它似乎更为一致,以便在适当的时候隐藏/显示文档。

代替任何更复杂的操作,您可以在您的主体样式上设置
display:none
,然后在您选择的任何位置显示或淡入。@ne1410s-当文档主体足够大时,不幸的是,它不起作用——例如,如果我将body标记内的文本更改为4MB文本长度,它仍然会闪烁:(-在Chrome中使用css类隐藏对我不起作用,但是window.stop()对我起作用。我只是将它修改为
If(typeof window.stop='function'){window.stop();};
,以防止IE上不支持window.stop()的错误).