2014-01-26 29 views
0

我需要一个网页,当用户点击文件>打印或[cmd + p]时,复制一篇文章(HTML)并将新文章放在原始文章的旁边。这个想法是在线显示一个列表,然后从网页上打印一张可以减半的2页纸版:2个相同的列表,一张纸。我正在使用自定义纸张布局的打印样式表,并且我正在使用jquery来复制HTML。用户打印时用jQuery复制HTML

我被卡住的部分是在用户看到打印对话框之前如何复制。我不想在网页上默认有两个相同的文章。我也想在打印完成后删除重复的文章,但这可能不是那么重要。

<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> 

感谢您的任何建议。

+0

是否有可能将您到现在为止的代码添加到jsfiddle? – Siva

+0

http://jsfiddle.net/J5NUp/ –

回答

0

我不想在网页上有两个相同的文章默认情况下。

无需JavaScript!有文章在两次页面,最初隐藏一个与CSS:

article.copy { 
    display: none; 
} 

然后,另一个CSS规则,显示打印页面上的文章:

@media print { 
    article.copy { 
     display: block; 
    } 
} 

DEMO

Mode information on@mediaa tutorial.不幸的是,@media似乎在IE8及以下版本中不起作用。

+0

article.copy是否需要复制/粘贴HTML? –

+0

取决于您如何生成内容。生成它两次或用JavaScript克隆元素。 –