Определение браузера UserAgent и инъекции

===== IE UserAgent для .CSS
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){ // работает!
    /*fix IE */
}
===== only Chrome and Safari UserAgent для .CSS
@media screen and (-webkit-min-device-pixel-ratio:0){ // требует проверки
    /*fix only Chrome and Safari */
}
===== only Mozilla UserAgent для .CSS
@-moz-document url-prefix(){ // требует проверки
    /*fix only Mozilla */
}

===== IE UserAgent через JS
Определение браузера IE UserAgent и инъекции через js, тестировано в IE8-IE10
<script>
  if (/MSIE 10/i.test(navigator.userAgent) ||
  /MSIE 9/i.test(navigator.userAgent) ||
  /rv:11.0/i.test(navigator.userAgent) ||
  /Edge\/\d./i.test(navigator.userAgent))
    {document.write
      ('<script src="min.js"></script><link rel="stylesheet" type="text/css" href="ie.css?01"/><style>body{color:red;}</style>')
    }
</script>
* Не будет работать, если внутри тэгов (script, link, style) будут отступы.
Более широко рассмотрено тут Browser detection in JavaScript? [duplicate]