我有一个响应页面,在加载期间通过 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/