在应用JavaScript之前显示空白网站

在应用JavaScript之前显示空白网站,javascript,Javascript,我需要在应用JavaScript之前,网站显示空白,而不是“Hello World!”。有没有一个简单的方法可以做到这一点?多谢各位 <div id = "id"> Hello World! </div> <script type = "text/javascript"> document.getElementById("id").innerHTML = "Hello JavaScript!"; </script> 你好,世界! docume

我需要在应用JavaScript之前,网站显示空白,而不是“Hello World!”。有没有一个简单的方法可以做到这一点?多谢各位

<div id = "id">
Hello World!
</div>

<script type = "text/javascript">
document.getElementById("id").innerHTML = "Hello JavaScript!";
</script>

你好,世界!
document.getElementById(“id”).innerHTML=“Hello JavaScript!”;

PS:当然,上面只是一个例子,大多数时候它会显示“Hello JavaScript!”的速度非常快,以至于看起来“Hello World!”根本不存在,除非你的互联网连接非常非常非常慢。

将你的所有内容放在一个默认隐藏的
#容器中。然后,一旦进入JavaScript,请显示:

CSS

HTML


将所有内容放在默认情况下隐藏的
#容器中。然后,一旦进入JavaScript,请显示:

CSS

HTML


你是说像这样的事吗

setTimeout(函数(){
document.getElementById(“id”).innerHTML=“Hello JavaScript!”;
},2000)

(假装空白)

你的意思是这样的吗

setTimeout(函数(){
document.getElementById(“id”).innerHTML=“Hello JavaScript!”;
},2000)

(假装空白)

当然可以,只需在CSS中将要隐藏的任何元素的默认样式设置为
显示:none
。然后在JS或脚本标记中的文档中添加如下内容

    window.onload = function () { 
      // Do stuff what you need
      var elToShow = document.getElementById('id_of_element');

      // Then show the content that was not displayed
      elToShow.style.display = 'block'; 
    }

当然,只需在CSS中将要隐藏的元素的默认样式设置为
display:none
。然后在JS或脚本标记中的文档中添加如下内容

    window.onload = function () { 
      // Do stuff what you need
      var elToShow = document.getElementById('id_of_element');

      // Then show the content that was not displayed
      elToShow.style.display = 'block'; 
    }

创建CSS类以隐藏内容:

<style>
.hidden { display: none; }
</style>

.hidden{显示:无;}
将类添加到div:

<div id = "id" class="hidden">
   Hello World!
</div>

你好,世界!
更新JavaScript以分配文本内容,并在页面加载完成后通过删除类来取消隐藏div

<script>
    var idDiv = document.getElementById("id");
    idDiv.textContent = "Hello JavaScript!";
    window.addEventListener("load",function(){
        idDiv.className = idDiv.className.replace(/hidden/,'');
    });
</script>

var idDiv=document.getElementById(“id”);
idDiv.textContent=“你好,JavaScript!”;
addEventListener(“加载”,函数(){
idDiv.className=idDiv.className.replace(/hidden/,“”);
});

创建CSS类以隐藏内容:

<style>
.hidden { display: none; }
</style>

.hidden{显示:无;}
将类添加到div:

<div id = "id" class="hidden">
   Hello World!
</div>

你好,世界!
更新JavaScript以分配文本内容,并在页面加载完成后通过删除类来取消隐藏div

<script>
    var idDiv = document.getElementById("id");
    idDiv.textContent = "Hello JavaScript!";
    window.addEventListener("load",function(){
        idDiv.className = idDiv.className.replace(/hidden/,'');
    });
</script>

var idDiv=document.getElementById(“id”);
idDiv.textContent=“你好,JavaScript!”;
addEventListener(“加载”,函数(){
idDiv.className=idDiv.className.replace(/hidden/,“”);
});

只需从div中删除Hello World,并添加一些样式,如background:white,以便在每个浏览器中都能一致地显示css:
html{display:none;}html.done{display:block;}
然后在js的末尾:
document.documentElement.className+=“done”这有时被称为FOUC(未格式化内容的flash),虽然从用户体验的角度防止FOUC很好,但在接触javascript之前不显示任何内容存在可用性问题,因为这可能需要一段时间。最佳做法是指示某些内容随附或其他加载指示器。@ChrisL Smart。但“你好,世界!”其实是有原因的。原因是当JavaScript没有关闭,或者用户没有JavaScript时。只需从div中删除Hello World,并添加一些样式,如background:white,以便它在每个浏览器中一致显示css:
html{display:none;}html.done{display:block;}
然后在js的末尾:
document.documentElement.className+=“完成”这有时被称为FOUC(未格式化内容的flash),虽然从用户体验的角度防止FOUC很好,但在接触javascript之前不显示任何内容存在可用性问题,因为这可能需要一段时间。最佳做法是指示某些内容随附或其他加载指示器。@ChrisL Smart。但“你好,世界!”其实是有原因的。这是因为JavaScript没有关闭,或者用户没有JavaScript。如果div为空,则不需要setTimeout,如果不是空,则无法完成问题的要求。另外,,无法预测加载javascript需要多长时间,因此您将选择任意长度的时间,让每个人无缘无故地等待页面加载,而不是为那些具有良好internet连接的用户提供即时内容如果div为空,则不需要setTimeout,如果它不是空的,则此选项为空无法完成问题的要求。另外,,无法预测加载javascript需要多长时间,因此您将选择任意长度的时间,让每个人毫无理由地等待页面加载,而不是为那些具有良好互联网连接的人提供即时内容。容器也可以是网站的主容器吗?@frosty是的,我相信您可以做到
。但这种方法可能适用于较少的浏览器,尽管我不确定。容器也可以是网站的容器吗?@frosty是的,我相信你也可以。但这种方法可能适用于较少的浏览器,尽管我对此不确定。