I'm not the biggest fan of ternary operators, I don't think they're that readable. Also, this changes behaviour.

At the moment there are 3 cases:

 * `xhr?` true or `utf8` changed - "JS enabled"
 * `utf8` unchanged - "JS disabled"
 * `xhr?` false and no `utf8` (for example someone just clicking a link) - nothing displayed as we can't know from a simple GET

The latter case is currently broken as it would report as `JS disabled`. This is partially my fault as there are no tests. I think this complication is why it ended up as one big method.