Универсальный CSS хак

Теперь немного о кроссбраузерности. Когда в последний раз я искал в интернете примеры использования хаков для различных браузеров, мне в голову пришла мысль подключать css с помощью javascript. Не претендую быть первоисточником этой идеи и, определенно, многие уже публиковали такой прием на своем блоге, но в топ-10 выдачи google по обычному запросу, вроде "css hack", я такого приема ни разу не встречал. Возможно этот метод имеет свои недостатки, но не будем скептиками.

Идея метода простая, как детская посуда, поэтому сразу перейдем к реализации:

<html>
<head>
<script type="text/javascript">
var inject={
'opera':'<style type="text/css">body{background:red;}</style>',
'mozilla4':'<style type="text/css">body{background:yellow;}</style>',
'chrome':'<style type="text/css">body{background:green;}</style>',
};
var C=navigator.userAgent.toLowerCase();
var V=(C.match(/.+(?:ox|it|ra|ie|me)[\/: ]([\d]+)/))[1];
var A=/webkit/.test(C)&&!/(chrome)/.test(C)?'safari':
	  /opera/.test(C)?'opera':
	  /chrome/.test(C)?'chrome':
	  /msie/.test(C) && !/opera/.test(C)?'msie':
	  /mozilla/.test(C)&&!/(compatible|webkit)/.test(C)?'mozilla':'';
if (A in inject) document.write(inject[A]);
if (A+V in inject) document.write(inject[A+V]);
</script>
</head>
<body>
</body>
</html>

Такой вот маленький скриптик просто-напросто вставляет код css либо подключение файла стилей в зависимости от названия браузера и его версии или только от названия между тегами head. Настраивается он с помощью редактирования начального значения переменной inject.