I'm a Soundcloud user and a while ago I noticed they did something cool with their interface - a "Play" icon when you are playing music.
If you've ever been jamming out and needed to quickly mute your computer then this is a nice way to see which browser tab is making sound. In fact, the most recent Chrome now makes this built in:
In this case the native indicator is on the right. This is especially handy for cases where a site feels that their users are too stupid to know how to play video and use autoplay. (And let's be clear, if you use autoplay, you think your users are idiots. Either that or you are just a rude jerk who feels the need to .... ok sorry I'll stop my rant now. ;)
So I knew this was trivial code but I wanted to build my own little example of this - just for the heck of it.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Some Page</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
</head>
<body>
<button id="playButton">Play</button>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
var $button = $("#playButton");
var playing = false;
var origTitle = document.title;
$button.on("click", function() {
if(!playing) {
playing = true;
$button.text("Pause");
document.title = '\u25B6 ' + origTitle;
} else {
playing = false;
$button.text("Play");
document.title = origTitle;
}
});
});
</script>
</body>
</html>
The example above consists of one DOM item - a button. On the page load event, I grab a jQuery-wrapped pointer to it and a copy of the current page title. Then all I need to do is listen for click events to handle playing (or pausing) the audio. To be clear, I didn't bother adding real audio here. To add the play indicator, you simply use the Unicode character for it and prepend it to the title. In case you're curious, I Googled for "unicode for play symbol" to find the right one.
If you are incredibly bored and want to see this in action, hit the demo link below.
Archived Comments
hum, guess you could use the same thing to add a different character such as an exclamation mark or warning icon. Thinking of a session about to time out. You could animate it by adding/removing the icon.
Scott, dude! Haven't heard from you in forever. :)
But yeah - and actually - I think the session timeout warning indictor is *fascinating* - that is a great use case.
Could you use font awesome icons up there I wonder? I'll give it a try and see. Can see some nice uses for this.
Nope of course you can't Will....you can't add HTML to the document title....
Doh.
Very nice! Sadly Firefox messes around with the play character and outputs something that looks like a distorted flag. Great concept, though.
Latest Firefox? I didn't see that. Screen shot?
Heres a simpler version that doesn't require an extra variable:
To set the play icon:
document.title = '\u25B6 ' + document.title;
To remove it (just replace it with nothing):
document.title = document.title.replace('\u25B6 ','');
Good mod there!