我的window.print()
声明一直很奇怪,我最终将其缩小到我的html中的视频。我会澄清奇怪的是,打印对话框只会在页面刷新后或警报后弹出(我发现很奇怪),随后点击打印按钮会导致打印对话框出现不一致和不稳定的触发。
如果我将视频文件移出预期的目录,以便html无法找到它们或删除视频标签,则打印功能可以完美运行。目前,视频直接位于jquery移动内容</div>
标记的末尾,但我尝试在页面内容中移动它们而不会改变行为。
有没有人遇到过这个问题或者我知道如何修复它?
编辑:尝试使用jquery抓取视频并在其上调用.remove()
,看看我是否可以在点击时正常启动它,但是没有去。
答案 0 :(得分:0)
也许@media属性会有帮助吗?
适用于我的示例(请注意应用的样式):
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
@media print {
video { display: none; }
}
</style>
</head>
<body onload="window.print();">
<h1>Sample Text</h1>
<video width="320" height="240" controls>
<source src="example_video_file.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<p>To be printed out</p>
</body>
</html>
答案 1 :(得分:0)
将此功能称为此Chrome错误的解决方法对我来说非常有用:
function printPage() {
window.print();
//workaround for Chrome bug - https://code.google.com/p/chromium/issues/detail?id=141633
if (window.stop) {
location.reload(); //triggering unload (e.g. reloading the page) makes the Print dialog appear
window.stop(); //immediately stop reloading
}
return false;
}