javascript - 我们不应该使用 <noscript> 元素吗?

标签 javascript xhtml web-standards noscript

我在这里发现了一些好的缺点:

  • noscript 元素仅检测浏览器是否启用了 JavaScript。如果 JavaScript 在防火墙中而不是在浏览器中被禁用,则 JavaScript 将不会运行并且不会显示 noscript 元素的内容。

  • 许多脚本都依赖于所支持语言的一个或多个特定功能才能运行(例如 document.getElementById)。在不支持所需功能的情况下,JavaScript 无法运行,但由于支持 JavaScript 本身,因此不会显示 noscript 内容。

  • 使用 noscript 元素最有用的地方是在页面的头部,它可以在页面加载时有选择地确定将哪些样式表和元元素应用于页面,而不必等待直到页面加载完毕。不幸的是,noscript 元素仅在页面主体内有效,因此不能在头部使用。

  • noscript 元素是 block 级元素,因此只能在禁用 JavaScript 时用于显示整个内容 block 。它不能内联使用。

  • 理想情况下,网页的内容应使用 HTML,外观应使用 CSS,行为应使用 JavaScript。使用 noscript 元素是从 HTML 中应用行为,而不是从 JavaScript 中应用。

来源:http://javascript.about.com/od/reference/a/noscriptnomore.htm

我非常同意最后一点。有没有办法制作和添加外部 <noscript>文件?我们应该放置 <noscript><head>

最佳答案

最好将默认设置为非 javascript,然后让 javascript 代码覆盖启用 javascript 的页面。不必太多。可以只是一个 display:none; block ,然后通过 javascript 将其设置为 display:block;,对于非 js 页面反之亦然。

关于javascript - 我们不应该使用 <noscript> 元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2170484/

相关文章:

php - 语法错误,意外的 '.',在 config.php 中期望 ']'

html - 学习 HTML5 和 CSS3

javascript - 删除添加的 html 表格行

javascript - 使用 JS/HTML 制作列表

javascript - 计算器在其他浏览器中无法运行

javascript - RxJS:在 X 排放后更改 throttleTime

javascript - 如何从 gInfowindow 链接打开 fancybox

xhtml - 基础 - 在线设置 div 时,是否也 float ?

http - get 请求中的参数可以有多长?

javascript getelementbyid ...如何 'get' "html"变量