Change Tab Title with JavaScript
Changing the tab (or window) title is an age old practice. Gmail does it to notify the user of a new chat message and this blog does it to update the tab title after a new page loads via AJAX. How is it done? By setting a property on the document
object, of course:
That property, of course, is document.title
:
document.title = 'Hello!'; // New title :)
One common misconception is that you change the window.title
property, but you must use the document
object, otherwise you'll see no effect. You'll oftentimes see a setInterval
used with document.title
to quickly change title to get the user's attention.
![Designing for Simplicity]()
Before we get started, it's worth me spending a brief moment introducing myself to you. My name is Mark (or @integralist if Twitter happens to be your communication tool of choice) and I currently work for BBC News in London England as a principal engineer/tech...
![Chris Coyier’s Favorite CodePen Demos]()
David asked me if I'd be up for a guest post picking out some of my favorite Pens from CodePen. A daunting task! There are so many! I managed to pick a few though that have blown me away over the past few months. If you...
![Fancy FAQs with MooTools Sliders: Version 2]()
A little over a year ago I authored a post titled Fancy FAQs with MooTools Sliders. My post detailed a method of taking boring FAQs and making them more robust using the world's best JavaScript framework: MooTools. I've taken some time to...
![Create a Clearable TextBox with the Dojo Toolkit]()
Usability is a key feature when creating user interfaces; it's all in the details. I was recently using my iPhone and it dawned on my how awesome the "x" icon is in its input elements. No holding the delete key down. No pressing it a...
This is great – in 15 years of working in web design the thought of changing page title never crossed my mind. Could be useful though, cheers!
If you want to be evil about it change it to:
And see how many people wonder what is unread :)
If that’s not in evil.js, it should be added immediately
Thats pure evil.
That’s really nice – I always did that via
getElementsByTagName
andinnerHTML
, but this solution’s way more convenient.Of-course this is tricky. It also affects DOM document ( element in HTML). Also In XUL, retrieving
document.title
before document gets completely loaded has unfixed behavior (document.title
might pull an empty result or may effect-less.)I’m happy to be corrected on this, but if you change the tab title after a screen reader initially caches the page, they are not informed of this change. So, if you are changing the page for a relevant reason, could this be a problem? The page title is the first thing screen readers hear when a page loads, and it is like a road map to where they are, where they want to be.
This is such a simple tweak and can make us look our website state of the art!