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有一些东西会导致它忽略分页标记。
任何人都可以帮我吗?
答案 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"> </p>