【问题标题】:Dynamically loading stylesheet for print in IE在 IE 中动态加载样式表以进行打印
【发布时间】:2010-07-16 13:20:51
【问题描述】:

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

    $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 特定代码中打印的媒体类型?

【问题讨论】:

    标签: jquery css printing


    【解决方案1】:

    我相信这会奏效:

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

    【讨论】:

      【解决方案2】:

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

      <body onbeforeprint="loadPrintCSS()">
      

      还有 JavaScript/jQuery 函数:

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

      这是特定于 IE 的,但这是您要求的。

      【讨论】:

      • 嗨,这对我不起作用。我正在尝试打印出现在灯箱对话框中的报告。当灯箱完成加载时,我为 IE 和标准兼容浏览器注入打印 CSS 文件引用。符合标准的浏览器可以很好地打印报告,但 IE 不能。它还打印背景内容,即包括灯箱在内的整个页面的内容。
      • 没问题。并不是说听起来不好:)
      猜你喜欢
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      • 2011-02-21
      • 1970-01-01
      相关资源
      最近更新 更多