HTML <noscript> 标签
实例
<noscript> 标签的使用:
<script>
document.write("Hello World!")
</script>
<noscript>抱歉,你的浏览器不支持 JavaScript!</noscript>
尝试一下 »
浏览器支持
目前大多数浏览器支持 <noscript> 标签。
标签定义及使用说明
noscript 元素用来定义在脚本未被执行时的替代内容(文本)。
此标签可被用于可识别 <noscript> 标签但无法支持其中的脚本的浏览器。
提示和注释
提示:如果浏览器支持脚本,那么它不会显示出 noscript 元素中的文本。
注释:无法识别 <script> 标签的浏览器会把标签的内容显示到页面上。为了避免浏览器这样做,您应当在注释标签中隐藏脚本。老式的(无法识别 <script> 标签的)浏览器会忽略注释,这样就不会把标签的内容写到页面上,而新式的浏览器则懂得执行这些脚本,即使它们被包围在注释标签中!
<script> <!-- function displayMsg() { alert("Hello World!") } //--> </script>
在HTML 4.01 与 HTML5 之间的差异
在 HTML 4.01 中,<noscript> 标签只允许插入到 <body> 元素中。
在 HTML5 中,<noscript> 标签可以插入到 <head> 和 <body> 区域中。
在HTML 与 XHTML 之间的差异
XHTML 不支持 <noscript> 标签。
全局属性
<noscript> 标签支持全局属性,查看完整属性表 HTML全局属性。
相关文章
HTML 教程:HTML 脚本
MCCF
353***4841@qq.com
noscript
标签可以包含不仅仅是文本的内容,并且其中内容在脚本可用时全无意义,如:frame
。style
,link
甚至script
(但最后这个当然往往无用……)。灵活运用这个标签可以实现很多功能。比如:
这理论上能够防止浏览器把
script
内的内容当作文本显示。因为在浏览器无法使用脚本时,style
标签生效,将可能被认为是文本的script
标签隐藏(实际上它们本来就应当是隐藏的)。但一般来说,既然浏览器支持
noscript
,那么应该也不至于将脚本的内容直接输出(仅仅是不运行而已),因此这通常是不必要的。若要防止脚本内容被输出,应当在脚本内加上注释标签。但在实际项目中,即使果真无法使用脚本,
noscript
也能防止出现糟糕的用户体验,请看下例:如果脚本失效,页面原先的依赖于脚本的内容可能出现各种奇怪的问题。但在
noscript
内的任何元素,都只会在禁止脚本的时候发挥作用,而平时它们大致相当于注释。因此使用上述方式,即可在脚本不可用时提示错误信息,并隐藏原有内容以防止错误发生。
用此方法也可构建一个提示框之类的区域,并可以指示用户如何打开脚本。但要注意基于脚本的框架不一定能在没有脚本的情况下运作,不过仅使用CSS也能做出比较美观的布局。
MCCF
353***4841@qq.com