Это вполне возможно решить без Javascript, используя комбинацию HTML и CSS. Хитрость заключается в том, чтобы продублировать контент, добавленный CSS в HTML, в специфический для IE условный комментарий (не показанный другими браузерами) и использовать селектор display
CSS для переключения при отображении этого элемента. Согласно MSDN , IE 8+ поддерживает CSS :after
и content:
, поэтому только IE 7 и ниже должны использовать условный комментарий.
Вот пример:
<style type="test/css" media="screen">
.printonly { display: inline; }
</style>
<style type="text/css" media="print">
#maintitle:after { content:" \2014 Site Title";} /* for IE8+ and Other Browsers. sidenote: Can't use &mdash directly in generated content, so using escape code */
.printonly { display:inline } /* For IE <= 7 */
</style>
<h1 id="maintitle">Page Title
<!--[if lte IE 7]><span class="printonly">— Site Title</span><![endif]-->
</h1>