在Why does the HTML symbol for ▶ not work in document.title上添加问题, 当我使用正确转义的javascript十六进制值将播放符号添加到文档标题时,符号似乎被压扁:
JavaScript的:
document.title = '\u25BA' + document.title;
内页 (正确)
内部标题 (不太正确)
查看这个工作模型的小提琴。我添加了 /show/light
,因此javascript实际上可以访问主页上的文档标题,但是如果你取消扩展名,你也可以看到代码。
这似乎发生在所有主流浏览器(Chrome,Firefox,IE)上。
经过测试(在Win8上):
当我访问YouTube时,它看起来很好,所以我不肯定这是一个特定于浏览器的问题。
答案 0 :(得分:6)
通过将YouTube使用的符号(▶)粘贴到codepoints.net,您可以看到它们实际上使用的是不同的unicode版本。返回的字符为U+25B6
(不要与25B8
和25BA
混淆)
这应该看起来更好:
function PrependPageTitle(player) {
var playIcon = '\u25B6 ';
var startsWithIcon = document.title.substring(0, playIcon.length)===playIcon;
if (player.paused && startsWithIcon) {
document.title = document.title.slice(playIcon.length);
} else if (!player.paused && !startsWithIcon) {
document.title = playIcon + document.title;
}
}
演示: