是否可以敲击标题栏中显示的标题?

时间:2012-10-30 15:42:54

标签: javascript html css browser title

是否有可能打出标题

<title><s>My Title</s></title>

这样,标题栏会显示 My Title ? 或者有没有办法用css解决这个问题?

8 个答案:

答案 0 :(得分:19)

来自MDN on the <title> element

  

HTML标题元素定义文档的标题,   显示在浏览器的标题栏或页面的选项卡上。 它只能包含文本,并且不会解释任何包含的标记。

所以不,不能那样做。

<强>更新

其他答案建议使用unicode字符的各种组合来完成攻击,即使这可能并且可以产生一个不错的结果,我相信它带来了一个很大的缺点。

我不是任何方式的SEO专家,但据我所知,根据谷歌Search Engine Optimization Starters Guide<title>在搜索引擎优化方面非常重要。他们的指南建议你应该避免

  • 选择与页面上的内容无关的标题
  • 使用默认或模糊标题,例如“无标题”或“新页面1”

我的解释是,在你的标题中使用晦涩的字符会直接违反这一点,所以基于此,我强烈建议你避免使用它。

答案 1 :(得分:13)

通过使用内置了攻击的字符,可以。但这是唯一的方法。使用HTML标记或CSS不会产生您想要的结果。

使用此示例:http://blog.imthy.com/2008/06/strikethrough-strikethrough-text.html

答案 2 :(得分:3)

不,我所知道的浏览器不会直接在标题栏中支持HTML呈现,只会显示<title>标记内的明文。你可能希望做的最多的是使用一些不起眼的字符,其中该行是每个字符的一部分 - 这是非常具体的,我不在乎调查。

答案 3 :(得分:1)

如果在标题栏中显示title元素内容,则无法更改它的呈现。这不依赖于规范,而是依赖于实现:浏览器使用自己的例程来显示标题,HTML标记或CSS设置不会影响这一点。

没有什么可以阻止我们为title元素设置样式,例如

title { text-decoration:line-through; }

但默认情况下没有可见效果,因为该元素不是显示的文档内容的一部分。添加

head, title { display: block; }

使其可见,您可以在(在现代浏览器中)将内容视为页面上的过度使用。但这不会影响标题栏(并且不是特别有用)。

在元素内容中使用特殊字符,您可以创建重击,如其他答案所示。然而,这将产生相当大的混乱风险,因为浏览器用于显示标题栏的例程通常使用有限的字符库,显示不受支持的字符,例如作为小盒子。

答案 4 :(得分:1)

您可以使用Unicode combining characters添加它们。它在很大程度上取决于操作系统/浏览器在标题栏中使用的字体,但它看起来如何。

function strike(text) {
    var output = '';
    for (var i = 0; i < text.length; i++) {
        output += '\u0336' + text[i];
    }
    return output;
}

function strikeTitle() {
   document.title = strike(document.title);
}
编辑:我个人最喜欢\ u0337。

答案 5 :(得分:0)

我担心这是不可能的。 'title'标签不允许在其内容中进行任何格式化。

答案 6 :(得分:0)

这是不可能的,您无法使用CSS控制浏览器窗口标题的<title>标记。

答案 7 :(得分:0)

浏览器允许通过两个选项

自定义文档标题
  1. Fav icon 2.标题
  2. 任何带标签或css的自定义都将被忽略,标题上只会显示文字和fav图标。

    因此,如果你想玩标题,你仍然可以使用javascript,你可以创建可能适合你的动画。