播放符号(▶)在document.title中压缩

Kyl*_*Mit 4 html javascript html5-audio

添加到关于为什么HTML符号不能在document.title中工作的问题,当我使用正确转义的javascript十六进制值将播放符号添加到文档标题时,符号似乎被压扁:

JavaScript的:

document.title = '\u25BA' + document.title;
Run Code Online (Sandbox Code Playgroud)

内页 (正确)

BodyDemo

内部标题 (不太正确)

TitleDemo

看一下工作模型的小提琴.我已添加,/show/light所以javascript实际上可以访问主页面上的文档标题,但如果你取消扩展,你也可以看到代码.

的jsfiddle

这似乎发生在所有主流浏览器(Chrome,Firefox,IE)上.

测试(在Win8上):

  • Chrome:版本30.0
  • Firefox:版本22.0
  • IE:版本10.0

当我去YouTube时,它看起来很好,所以我不肯定这是一个特定于浏览器的问题.

YouTubeDemo

Kyl*_*Mit 6

通过将YouTube使用的符号(▶)粘贴到codepoints.net中,您可以看到它们实际上使用的是不同的unicode版本.返回的字符U+25B6(不要与混淆25B825BA)

这应该看起来更好:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

演示:

的jsfiddle