Javascript 在用户打印时使用jQuery复制HTML
我需要获取一个网页,当用户单击文件>打印或[cmd+p]时,复制一篇文章(HTML),并将新文章放置在原始文章旁边。这个想法是在网上显示一个列表,然后从网页上打印一个2页纸版本,可以切成两半:两个相同的列表,一张纸。我将打印样式表用于自定义纸张布局,并使用jquery复制HTML 我一直关注的是如何在用户看到“打印”对话框之前进行复制。我不希望在默认情况下网页上有两篇相同的文章。我还想在打印完成后删除重复的文章,但这可能没有那么重要Javascript 在用户打印时使用jQuery复制HTML,javascript,jquery,html,css,printing,Javascript,Jquery,Html,Css,Printing,我需要获取一个网页,当用户单击文件>打印或[cmd+p]时,复制一篇文章(HTML),并将新文章放置在原始文章旁边。这个想法是在网上显示一个列表,然后从网页上打印一个2页纸版本,可以切成两半:两个相同的列表,一张纸。我将打印样式表用于自定义纸张布局,并使用jquery复制HTML 我一直关注的是如何在用户看到“打印”对话框之前进行复制。我不希望在默认情况下网页上有两篇相同的文章。我还想在打印完成后删除重复的文章,但这可能没有那么重要 <script> /* instead of w
<script>
/* instead of window.onclick, is there an "on print" function? */
window.onclick = function() {
var $newArticle = $('article').clone();
$($newArticle).css({'margin-left':'1.3cm'});
$($newArticle).insertAfter("article");
}
</script>
/*是否有“打印”功能代替window.onclick*/
window.onclick=function(){
var$newArticle=$('article').clone();
$($newArticle.css({'margin-left':'1.3cm');
$($newArticle).insertAfter(“article”);
}
谢谢你的建议
我不希望在默认情况下网页上有两篇相同的文章
不需要JavaScript!将文章在页面中放置两次,并使用CSS将其中一篇隐藏:
article.copy {
display: none;
}
然后,使用另一个CSS规则,在打印页面上显示文章:
@media print {
article.copy {
display: block;
}
}
不幸的是,
@media
在IE8及以下版本中似乎不起作用。您是否可以将迄今为止的代码添加到JSFIDLE?article.copy是否需要复制/粘贴HTML?取决于您生成内容的方式。要么生成两次,要么用JavaScript克隆元素。