<noscript> in <head>

32

我能否将<noscript>标签放在<head>标签中?


我想知道你会放什么在那里...除了更改标题或CSS,选项有限。 - PhiLho
1
我发现这个问题是因为我的<head>标签中的<noscript>无法通过HTML验证。我使用它来执行“meta refresh”并将没有启用JavaScript的用户带到另一个网页,要求他们启用JS。在我尝试过的浏览器中似乎可以工作,但验证器不喜欢它,正如Greg指出的那样...不过,如果它能工作...我现在就先留着它。 - Marcus
在HTML5中似乎是相同的。 - somenxavier
我认为这是一个非常好的问题,因为大多数分析代码都包含noscript标签,但未能告知用户必须单独从头部注入。 - Joseph
5个回答

25
根据XHTML严格DTD,你只能使用脚本、样式、元数据、链接、对象、标题和基础标签。过渡性DTD还允许使用isindex标签,但仍不允许使用noscript标签。

21
使用HTML5 Doctype,在我的标签中有一个元素,它指向no-js.css样式表。它通过了验证,似乎可以正常工作。

8
根据目前的工作草案,《head》标签可以包含所有元数据元素,其中包括定义为元数据元素之一的《noscript》标签。 - musiKk
1
所以这是有效的。谢谢musikK的澄清。这可能是一个更好的方法,而不是为HTML元素添加“no-js” / “js”类来防止闪烁。 - Kevin C.
2
为了跟上时代,现在一切都在使用HTML5,也许这应该成为被接受的答案。但是建议用户如果需要旧版支持,还是要注意Greg的回答。 - klewis
@T.Todua 我无法更新评论,但是该文档有单页版本:https://www.w3.org/TR/html5/single-page.html。W3C做得好! - musiKk

1

只要您在HTML文档中进行操作,而不是XHTML,就可以使用它。

在head元素中[...],noscript元素必须仅包含link、style和meta元素。

查看规范


1

HTML5在中添加了对


0
在搜索类似事物时发现了这个,想着提供一个2023年的更新。
作为HTML5 W3C规范的一部分,你可以在<head>标签内放置一个<noscript>标签。

“在HTML文档的head元素中,如果没有祖先noscript元素。”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接