javascript - Chrome 在 head 脚本完成之前显示 body

标签 javascript html dom tags rendering

据我所知,浏览器应该在到达脚本时停止渲染 DOM,直到脚本完成。

但是,如果我写一个

window.open('Mypage.aspx?ID=0', '_top'); 

在新页面打开之前,我仍然可以在 head 标签处看到快速的“闪烁”。 我什至试图在 body 标签之前人为地创建一个延迟,但无济于事。 我怎样才能避免这种闪烁?

例子:

<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>

最佳答案

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

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

关于javascript - Chrome 在 head 脚本完成之前显示 body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31383502/

相关文章:

javascript - 导入 React,{Component} 而不仅仅是 React 有什么好处?

javascript - 允许计算机按字母出现顺序识别字母的文本框

html - 如何强制浏览器 DOMDocument.ExecCommand() 函数为默认字体注入(inject) <font> 标签

javascript - 使用 JQuery 创建元素时遇到问题

javascript - jQuery:多个音频播放器按钮

javascript - Sass 无法使用 webstorm 进行编译

java - 如何在页面加载时第一次在JSP上显示下拉列表的第一个值?

javascript - 单击选择选项时如何隐藏选项卡

javascript - 无法使用document.getElementById捕获div的值

javascript - Jquery IE 问题,DOM 已更新但页面未更新