Javascript Chrome在头脚本完成之前显示body
据我所知,浏览器假设在到达脚本时停止呈现DOM,直到脚本完成 但是,如果我写一个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">
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()脚本的第一行中的code>将停止html呈现
虽然对我来说,使用css类来管理它似乎更为一致,以便在适当的时候隐藏/显示文档。代替任何更复杂的操作,您可以在您的主体样式上设置display:none
,然后在您选择的任何位置显示或淡入。@ne1410s-当文档主体足够大时,不幸的是,它不起作用——例如,如果我将body标记内的文本更改为4MB文本长度,它仍然会闪烁:(-在Chrome中使用css类隐藏对我不起作用,但是window.stop()对我起作用。我只是将它修改为If(typeof window.stop='function'){window.stop();};
,以防止IE上不支持window.stop()的错误).