我正在使用
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<script>document.title=" ";</script>
</head>
</html>
它适用于IE和Firefox,但Chrome无法正常工作。 那么,在W3C标准。似乎不允许空白标题?!
用户代理在其用户界面中引用文档时应使用文档的标题。当以这种方式使用title元素的内容时,应该使用该title元素的方向性来设置用户界面中文档标题的方向性。
答案 0 :(得分:18)
根据HTML5 CR,title
元素是必需的,除非“该文档是iframe srcdoc文档或者标题信息是否来自更高级别的协议”(这在{的描述中指定) {3}})。
在实践中并根据HTML5 CR,可以通过赋值head
element在JavaScript中设置标题。当然,这对于标题的许多重要用途都是无效的,因为这只能在浏览器中进行。
HTML5 CR还指定document.title
不能为空或仅包含空格。更确切地说,内容必须是不是title
element的文本。
document.title
的值没有相应的要求。但是,HTML5指定在赋值时,前导和尾随空格被剥离。如果您在分配document.title
后测试document.title = " "
的值,您会看到该值是空字符串,而不是空格。
浏览器与文档标题的不同之处(使用<title>
元素设置或通过赋值给document.title
)不同。他们可以在用户界面中以各种方式显示它。如果标题设置为空字符串或根本没有设置,则浏览器通常使用文档的文件名(可能以某种方式进行修改)来代替标题。这就是例如在Chrome,Firefox和IE(在Windows上)显示文档标题作为选项卡的名称时。 (我不知道这个问题意味着在IE和Chrome中设置标题空白“有效”。)
在大多数情况下,文档的空标题没有任何意义,只要发布没有名称的书是有意义的。但是如果你有一个用例你想要制作标题(在某些情况下由浏览器显示),你可以部署各种技巧。
例如,NO-BREAK SPACE U + 00A0根据定义不是HTML中的空白字符,因此您可以在HTML中使用<title> </title>
或在JavaScript中使用document.title='\u00A0'
。然后标题看起来像空白,但它在技术上不是空的,所以它将被用于浏览器。
由于NO-BREAK仍然占据空间(它实际上显示的是一个字形,只是一个完全空白的字形),你可以使用LEFT-TO-RIGHT MARK U + 200E代替;它是一个不可见的(零宽度)控制字符。在HTML中,您可以使用<title>‎</title>
。或者,您可以在JavaScript中使用document.title='\u200E'
。
答案 1 :(得分:0)