<br style="page-break-after: always"/>不能使用Windows 8 / 8.1

时间:2014-01-12 05:55:10

标签: html xml internet-explorer printing

Windows 8 / 8.1(最初问题出现在8中,所以我升级到8.1,但问题仍然存在)

IE 11.0.2

我正在使用名为eTools的产品。它用于生成和管理龙与地下城游戏的角色表。信息存储在数据库文件中,但为了创建字符表,软件使用XLS样式表生成HTML文件。然后,脚本在IE中打开HTML文件并启动“打印”命令。然后,用户选择打印机并单击“确定”。

问题是以下行被忽略:

<br style="page-break-after: always">

我很确定这一行是罪魁祸首,因为如果我保存HTML文件并将其打印在装有旧版Windows和IE的PC上,它就能正常工作。

我测试了各种打印机,包括Adobe PDF打印机,所有打印机都在Windows 8 / 8.1上失败,但可以使用旧版本。

该产品在Windows XP,Vista和7上运行良好,但在Windows 8和8.1 x64上存在问题。

我想知道Windows 8 / 8.1或IE11中是否有我忽略的设置?


编辑:

我刚刚使用在Windows 8.1和IE11中创建的HTML文件,并尝试使用IE9在Windows Vista上打印。打印得很好。

这让我觉得IE11有一些东西会导致它忽略分页标记。

任何人都可以帮我吗?

3 个答案:

答案 0 :(得分:4)

根据http://www.javascriptkit.com/dhtmltutors/pagebreak.shtml,问题可能在于使用<br />元素:

  

请注意,在某些浏览器中,分页符可能不适用于<BR><HR>标记。

相反,他们建议尝试这样做:

  

<DIV style="page-break-after:always"></DIV>

使用div很适合我;希望它也可以帮助别人。

答案 1 :(得分:2)

今天在ie11中遇到同样的问题。即有几个问题。首先它不喜欢<br>内的分页符,但在<div> or <p>标记中可以正常工作。如果我在分页符后面有内容,那么它似乎才有效。

喜欢这样:

<div style="page-break-after: always;"></div>
<div></div>

这不起作用:

<div style="page-break-after: always;"></div>

不幸的是,每次都会在最后创建一个空白页面,但没有任何其他方法可以让它在没有它的情况下工作。

答案 2 :(得分:0)

page-break-after不适用于标签。试试p或br标签

<p style="page-break-before: always">&nbsp;</p>