针对早期浏览器不支持JavaScript的问题,需要一个页面优雅降级的解决方案。最终,<noscript>
元素出现,被用于不支持JavaScript的浏览器提供代替内容。
虽然,如今100%的浏览器已经支持JavaScript,但是对于禁用javascript的浏览器来说,这个元素仍有它的好处。
<noscript>
元素可以包含任何可以出现在<body>
中的html元素,<script>
除外。在下列两种情况下,浏览器将显示包含在<noscript>
中的内容。
- 浏览器不支持脚本
- 浏览器对脚本的支持被关闭
任何一个情况被满足,包含在<noscript>
里面的内容就会被渲染。否则,浏览器不会渲染<noscript>
。
<!DOCTYPE html>
<html>
<head>
<title></title>
<!-- 为什么defer属性要这样书写啊 -->
<script ""defer="defer" src="1.js"></script>
</head>
<body>
<!-- 这个例子是在脚本不可用的时候,让浏览器显示一段话。
如果浏览器支持脚本,则用户永远不会看到它。
即:<noscript>标签中的任何元素都不会被渲染 -->
<noscript>
<p>This page requires a JavaScript-enabled browser.</p>
</noscript>
</body>
</html>