Javascript 打印CSS:如何打开当前页面的新选项卡并附加CSS?
我想写一个脚本,打开当前页面的一个新选项卡,同时将特定于打印的CSS附加到页眉。迄今为止我的JS/jQuery:Javascript 打印CSS:如何打开当前页面的新选项卡并附加CSS?,javascript,jquery,css,Javascript,Jquery,Css,我想写一个脚本,打开当前页面的一个新选项卡,同时将特定于打印的CSS附加到页眉。迄今为止我的JS/jQuery: /*jslint browser: true, devel: true */ /*global jQuery */ /*global $ */ $(document).ready(function () { 'use strict'; jQuery('#print').click(function (event) { event.preventDefault();
/*jslint browser: true, devel: true */
/*global jQuery */
/*global $ */
$(document).ready(function () {
'use strict';
jQuery('#print').click(function (event) {
event.preventDefault();
$('head').append('<link rel="stylesheet" type="text/css" href="print.css">');
return false;
});
});
/*jslint浏览器:true,devel:true*/
/*全局jQuery*/
/*全球美元*/
$(文档).ready(函数(){
"严格使用",;
jQuery(“#打印”)。单击(函数(事件){
event.preventDefault();
$('head')。追加('');
返回false;
});
});
这将在当前选项卡中生成具有正确打印样式的页面。但是,当我使用window.open(“,”\u blank')代码>在$('head')之前。附加('')代码>,打印CSS不会附加到新选项卡
我正在寻找比or更紧凑的解决方案。如何将此信息传递到新选项卡?您可以通过更改策略来获得结果
打开窗口时,传递另一个属性
在您的文档中,ready-检查该属性,如果需要,还额外检查url,并在html中附加css
请注意-由于我们一直坚持这一策略,因此,我们回答了同样的理论策略。如果需要,还可以添加代码 /*jslint浏览器:true,devel:true*/
/*jslint browser: true, devel: true */
/*global jQuery */
/*global $ */
$(document).ready(function () {
'use strict';
jQuery('#print').click(function (event) {
event.preventDefault();
var childWindow = window.open("<myCurrentURL>", '_blank');
$(childWindow.document).find("head").append('<link rel="stylesheet" type="text/css" href="print.css">');
return false;
});
});
/*全局jQuery*/
/*全球美元*/
$(文档).ready(函数(){
"严格使用",;
jQuery(“#打印”)。单击(函数(事件){
event.preventDefault();
var childWindow=window.open(“,”_blank”);
$(childWindow.document).find(“head”).append(“”);
返回false;
});
});
您要知道,除非它遵守CORS,否则这将不适用于跨域调用。您不这样做。您可以在所有其他样式所在的同一文件中使用媒体查询。或者只是
…您是否需要支持旧浏览器,例如IE8?否则使用相关CSS媒体查询