Javascript 如何使用跨浏览器解决方案打印跨多页可变高度的html动态表?

Javascript 如何使用跨浏览器解决方案打印跨多页可变高度的html动态表?,javascript,html,css,Javascript,Html,Css,我已经阅读了我认为是这个问题的所有其他帖子和假设解决方案,它是不同的变体,但我认为还没有人真正回答这个问题,因为我已经实地测试了许多公认的答案,但还没有找到一个适用于IE 8+、Chrome、FF、Safari和Opera的答案 我有一个动态生成的表,所以它的高度始终是一个变量。在实际代码中,第二个表行上的值将循环并返回产品列表。 这张表的宽度很合适,但当我打印页面时,它会在行内断开 <table cellpadding="0" cellspacing="0" border="0" wid

我已经阅读了我认为是这个问题的所有其他帖子和假设解决方案,它是不同的变体,但我认为还没有人真正回答这个问题,因为我已经实地测试了许多公认的答案,但还没有找到一个适用于IE 8+、Chrome、FF、Safari和Opera的答案

我有一个动态生成的表,所以它的高度始终是一个变量。在实际代码中,第二个表行上的值将循环并返回产品列表。 这张表的宽度很合适,但当我打印页面时,它会在行内断开

<table cellpadding="0" cellspacing="0" border="0" width="650" align="center">

<thead>
<tr>
<td colspan="2"><strong>Job ID#</strong></td><td colspan="4" align="right">    <strong>ORDER TOTAL:$$$$</strong></td>
</tr>

<tr>
<th>SKU#</th>
<th>Product Name</th>
<th>Location</th>
<th>Quantity</th>
<th>Unit Price</th>
<th>List Price</th>
</tr>
</thead>

<!-- This Row will loop and fill multiple pages -->
<tr>
<td>Example</td>
<td><img src="example.jpg" height="50" width="50"/><h5>Product Title</h5></td>
<td>Example Location</td>
<td>1</td>
<td>$xx.xx</td>
<td>$xx.xx</td>
</tr>
</table>

作业ID订单总数:$$$$
SKU#
品名
位置
量
单价
标价
例子
产品名称
示例位置
1.
xx.xx美元
xx.xx美元
我知道很多人会说只是在之前、之后、内部等等放上分页符。但我真的相信我已经尝试过这个话题的每一个变体。分页符不完全受支持,仅适用于块级元素。我不能让我的表行阻塞,因为这样我的表的布局就乱七八糟了。对于每一个被我接受的答案,我发现使用这种CSS方法的一些变体,我可以提供一个它的工作示例,而不是实际工作在一个有这么多表数据字段和可变标题长度的表行上,等等

然后我想也许我可以使用thead和tfoot,至于我的用法,最好在页面的每个页眉和页脚上都有一个设置值。因此,使用这种方法,具有动态值的表行不再在页面之间拆分,客户机喜欢将页眉和页脚用于非常长的列表。我最接近于让这种方法适合我的使用,但Chrome和Safari不支持这种方法,所以到目前为止还没有骰子,很明显,Chrome的这一问题已经存在5年多了:(

其他人可能会说,用javascript做这个,找到页面的高度,yadda,yadda,yadda,但是永远不要为我们这些人提供一个例子,不像你那么精通javascript

我的一个想法是尝试在第n个表行之后插入一个分页符,这样我就可以在需要分页符的地方强制分页符,因为每一行的大小大致相同,但我无法让它在循环中工作,只在第n个子行上

该网站是建立在java平台上的,我对任何想法都持开放态度。我非常感谢社区为我提供的任何可行的解决方案