仅在禁用JavaScript时显示“启用JavaScript”消息

我希望在禁用JavaScript的情况下向用户显示一条消息“请启用JavaScript”。 我希望该消息,禁用JavaScript时不显示任何其他内容。

因此,为此,我可以将消息放入DOM并使用display:none隐藏所有其他元素。 然后在JavaScript中我可以设置消息显示隐藏并显示所有其他元素。

但是我用这种方法得到了一个闪烁。 在隐藏之前,错误消息会显示一段时间(特别是在移动浏览器上)。

如何最小化显示错误消息的时间?

您正在寻找标签 。

内联javascript必须在加载文档的其余部分之前运行。 加载元素之前 ,您可以使用此行为向页面添加样式以隐藏所需的元素。 理论上,这应该在所有浏览器(包括移动设备)中停止FOUC。 这是一个独立HTML的示例,向没有javascript的人显示消息。 这项技术也照顾了侯赛因提到的关于阻止javascript的防火墙的内容:

    No FOUC    
You don't have javascript, BOOOO

你可以这样做。 如果JavaScript被禁用,它将显示消息“JavaScript Disabled”

  

JavaScript disabled.

如果这会产生闪烁问题,请使用以下内容,

 document.write(".jsDisabled { display: none; }"); 

请参阅避免无格式内容闪存的1种方法

避免javascript禁用问题。

在您的网页上开始任何写作之前,只需输入以下代码即可。

你不得不向最终用户提出任何问题。

先试试吧。

你真的不能。 闪烁就是这样…特别是在慢速移动设备上(即诺基亚……哦,我如何讨厌诺基亚!)

唯一的另一种选择是首先加载启动页面。 在HEAD中添加几秒钟的元刷新,刷新为“打开javascript错误”。 在BODY上,添加应立即触发的javascript重定向。

您仍然会有一个闪存,当然还有一个页面请求到服务器。 但它可能是一个“更漂亮”的闪光。