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

标签 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 的页面内容?

最佳答案

一个选择是拥有一个 <noscript>包含 <style> 的标签这让事情变得可见:

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

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

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

关于javascript - 如果禁用 Javascript,则使网页可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56815428/

相关文章:

javascript - 如何呈现 jQuery Mobile UI 对象后页面加载

javascript - 使用草稿js在react-draft-wysiwyg编辑器中未显示图像

javascript - dojo AMD 加载顺序是什么?

html - 浏览器根据什么参数决定元素的 `width` 应该是什么(当宽度为 ="auto"时)?

html - Bootstrap 4 - Scrollspy 不工作

javascript - 在MVC模式中,监听器应该在Controller中吗?

javascript - 如何找出 touchmove javascript 事件的实际 event.target?

html - 无法将此表格居中

jquery - 点击事件加载页面

html - 为什么名字下面会出现长文字?