如果禁用了Javascript,则使网页可见

时间:2019-06-29 06:04:31

标签: javascript html

我有一个响应页面,该页面在加载期间通过javascript再次呈现。但这会导致闪烁,因为呈现了页面,然后Javascript插入了页面正文以再次呈现它。

CSS样式表和Javascript都包含在html本身中。

我现在使用的解决方案是:在我设置的样式表中:

html {
  visibility: hidden;
}

然后在onload()末尾的Javascript中调用:

function makePageVisible(){

  document.getElementsByTagName("html")[0].style.visibility =  "visible";
}

这很好用。但是我担心可能禁用了Javascript的浏览器。我意识到这可能很少见,但随后我读了iPhone禁用Javascript的帖子。所以我想也许它并不是那么罕见。

无论如何,对于我来说,有没有一种更好的方法可以隐藏和显示可以使用或不使用javascript的页面内容?

1 个答案:

答案 0 :(得分:3)

一种选择是拥有一个<noscript>标记,其中包含一个使事物可见的<style>

<style>
  html {
    visibility: hidden;
  }
</style>
<noscript>
  <style>
    html {
      visibility: visible;
    }
  </style>
</noscript>

您也可以使用Javascript隐藏(如果禁用JS,它将无法运行):

  <script>
    document.documentElement.style.visibility = 'hidden';
  </script>
</head>
...