我希望能够在客户端禁用JavaScript时标记一条消息。我在这里搜索并发现可以使用
我在w3schools编辑器中进行了测试,但它没有起作用,请告诉我是否不应该使用
<noscript>
标签来处理此类事情。我在w3schools编辑器中进行了测试,但它没有起作用,请告诉我是否不应该使用
<noscript>
或者我在这部分缺少了其他内容?
<noscript>
标签来处理此类事情。<noscript>
或者我在这部分缺少了其他内容?
How to detect JavaScript is disabled in browser?
我们知道,<script>
标签用于JavaScript。同样的方式,当浏览器禁用JavaScript时,<noscript>
标签会发挥作用。
<script>Put Sample code here for execution when JavaScript is Active </script>
<noscript>Put Sample code here for execution when JavaScript is Disabled</noscript>
<noscript>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=ShowErrorPage.html">
</noscript>
我们可以看到noscript标签中的代码,其中有一个“meta refresh”标签,间隔为“0”秒。由于该页面中JavaScript被禁用,浏览器会被重定向到“ShowErrorPage.html”以显示一些警告信息。
希望这能帮到你。
<noscript>
标签用于仅在禁用JavaScript时显示。
为了测试此功能,请执行以下操作:
如您所见,您可以在<noscript>
标签内放置您会放置在页面正文中的任何HTML内容。
<html>
<body>
<h1>Simple Example Page</h1>
<script type="text/javascript">
document.write("Hi, JavaScript is enabled!");
</script>
<noscript>
<div style="border: 1px solid purple; padding: 10px">
<span style="color:red">JavaScript is not enabled!</span>
</div>
</noscript>
</body>
</html>
<noscript>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=ShowErrorPage.html">
</noscript>
这并不是一个好的解决方案,因为IE11(以及之前的版本)有一个安全选项,当设置为“高”时,会禁用JavaScript和Meta Refresh标签!
我找到的最佳解决方案是:
<noscript class="noscript">
<div id="div100">
Please enable javascript in your browser .... blah blah
</div>
</noscript>
<style>
body{
position:relative;
}
.noscript {
width:100%;
height:100%; /* will cover the text displayed when javascript is enabled*/
z-index:100000; /* higher than other z-index */
position:absolute;
}
.noscript #div100{
display:block;
height:100%;
background-color:white;
}
</style>
<noscript>
标签就是为这种情况设计的,就像<script>
标签是为JS设计的一样。请注意,使用meta标签刷新:
<noscript>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=ShowErrorPage.html">
</noscript>
这意味着在IE浏览器中(至少是IE10),可以通过增加Internet选项安全级别来轻松禁用此功能(可能是因为之前已经禁用了JS)。当安全设置提高时,“允许META REFRESH”选项也被禁用。
您可以使用与stackoverflow相同的方法。请查看我的jsfiddle链接。当禁用Javascript时,在第一个noscript块中,在body标记后面,您需要添加一个填充顶部的空子div,以便在您的正文中添加所需的内容,然后最后,另一个带有固定位置div的noscript块内,其中包含您想要的警告消息。尝试启用和禁用javascript运行它。让我知道! :)
在此处查看代码:https://jsfiddle.net/go60f00n/
<noscript>
<div id='noscript_padding'></div>
</noscript>
<div>
<p>Lorem ipsum dolor sit amet consectetuer tincidunt nunc ac faucibus mattis. Gravida tempus turpis Morbi vitae sed Suspendisse auctor dignissim nulla adipiscing. Adipiscing justo lacinia justo Vivamus Vestibulum amet ut Donec vitae aliquet. Orci tempus orci Donec nibh eget tellus pede semper adipiscing leo. A et id sagittis velit venenatis.</p>
<p>Tellus ridiculus ipsum pretium condimentum Ut elit sed vitae amet In. Curabitur ipsum elit interdum tortor semper at dolor justo consequat leo. Id fermentum vitae tincidunt pretium lacus leo Cras urna risus urna. Pretium Vestibulum et euismod nec pede et tincidunt condimentum laoreet vel. Dolor vestibulum laoreet habitant a Nulla.</p>
<p>Lobortis lobortis quis elit mollis quis risus Morbi in augue montes. Mauris ipsum libero tellus et Quisque id non justo nibh dui. Dui nisl at Fusce Curabitur interdum tincidunt sed Vestibulum platea justo. At ut ante eget ac sem sed nulla id nunc mus. Velit In faucibus a auctor Sed Morbi habitasse est urna natoque. </p>
</div>
<noscript>
<div id='noscript_warning'>Please enable Javascript!</div>
</noscript>
html, body {
margin: 0;
padding: 0;
height: 100%;
}
p {
margin: 0;
}
#noscript_padding {
padding-top: 1.9em;
}
#noscript_warning {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 101;
text-align: center;
font-weight: bold;
color: #FFF;
background-color: #AE0000;
padding: 5px 0 5px 0;
}