Jquery 在IE中动态加载打印样式表
我有以下代码来加载新样式表以打印lightbox对话框:Jquery 在IE中动态加载打印样式表,jquery,css,printing,Jquery,Css,Printing,我有以下代码来加载新样式表以打印lightbox对话框: $styleUrl = '../Content/styles/icis.dashboard.colorbox.print.css'; if (document.createStyleSheet) { document.createStyleSheet($styleUrl); } else { $('head').append('<link rel="stylesheet
$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">');
}
$styleUrl='../Content/styles/icis.dashboard.colorbox.print.css';
if(document.createStyleSheet){
document.createStyleSheet($styleUrl);
}
否则{
$('head')。追加('');
}
如何将媒体类型限制为在IE特定代码中打印?我相信这会起作用:
if (document.createStyleSheet) {
var ieStyleSheet = document.createStyleSheet($styleUrl);
ieStyleSheet.media = "print";
}
将onbeforeprint添加到您的body标签:
<body onbeforeprint="loadPrintCSS()">
以及JavaScript/jQuery函数:
function loadPrintCSS() {
$('head').append('<link rel="stylesheet" type="text/css" href="windows-firefox.css" media="print">');
}
函数loadPrintCSS(){
$('head')。追加('');
}
这是IE特有的,但这正是你所要求的。嗨,这对我没用。我正在尝试打印显示在lightbox对话框中的报告。当lightbox完成加载后,我为IE和符合标准的浏览器注入打印CSS文件引用。符合标准的浏览器可以很好地打印报告,但IE不能。它还打印背景内容,即包括灯箱在内的整个页面的内容。没问题。我并不是故意让人觉得不好:)