我在打印 html 页面时遇到问题。实际上我的结构如下:我有一个包含几个 iframe 的 html 页面。这些 iframe 中的每一个都嵌入了一个 html 页面。我需要做的是在 fraim“Main”中添加一个打印链接,让用户打印 iframe 内容。
我在该特定 iframe 的 html 中添加了以下内容:
<a href="javascript:window.print()"><img src="./custom/images/print.png" /></a>
但我有几个问题。1)主要是该页面内的文本是可滚动的,因为它是动态的并且可以很长,因此通常不会适合屏幕,用户需要滚动才能看到整个文本。现在,当我尝试打印页面时,打印的只是我放置链接的 iframe 的内容(这就是我想要的,即使是意外的原因,我从未指定它)并且只有文本的可见部分,相反,我想要它作为一个完整的文件。还打印了可滚动条,我不知道为什么。有什么我需要添加来打印的吗?
2) 我对 Safari 有另一种不正确的行为,而 Chrome 没有这种行为。基本上,当我单击 Chrome 上的打印按钮时,浏览器会打开一个新层,其中显示页面预览,加载我创建的“打印”css(这真的很酷,可能是 Chrome 的功能)。与 safari 不同,预览直接加载到 iframe 中,因此显示给用户的内容会发生变化,并且通常会卡在上面。你知道我为什么会遇到这个问题吗?对我来说可以不显示任何打印预览,我只希望页面中的内容不被修改。
PS关于第一点我需要直接打印页面,如果页面,我无法打开一个带有可打印版本的新窗口,然后打印新的。这导致我的页面是使用外部“工具”api动态生成的,所以假设我没有脱离这个上下文。我可以,但我需要让某人创建一个 API 来做到这一点,而且只有当我 100% 确定这会解决问题时,我才能做到这一点。
谢谢大家。