动态加载样式表以便在IE中打印

时间:2010-07-16 13:20:51

标签: jquery css printing

我有以下代码加载新样式表以打印灯箱对话框:

    $styleUrl = '../Content/styles/icis.dashboard.colorbox.print.css';
    if (document.createStyleSheet) {
        document.createStyleSheet($styleUrl);
    }
    else {
        $('head').append('<link rel="stylesheet" type="text/css" href="../Content/styles/icis.dashboard.colorbox.print.css" media="print">');
    }

如何限制要在IE特定代码中打印的媒体类型?

2 个答案:

答案 0 :(得分:2)

我相信这会奏效:

if (document.createStyleSheet) {
    var ieStyleSheet = document.createStyleSheet($styleUrl);
    ieStyleSheet.media = "print";
}

答案 1 :(得分:1)

将onbeforeprint添加到您的身体标记:

<body onbeforeprint="loadPrintCSS()">

JavaScript / jQuery函数:

function loadPrintCSS() {
  $('head').append('<link rel="stylesheet" type="text/css" href="windows-firefox.css" media="print">');
}

这是IE特定的,但这就是你要求的。