2013-07-29 53 views
0

我的window.print()声明一直非常奇怪,我最终把它缩小到我的html中的视频。我会澄清奇怪的是,打印对话框仅在页面刷新后或在警报(我发现奇怪)之后弹出,随后对打印按钮的点击会导致打印对话框不一致和片状。window.print()打破了html视频标签

如果我将视频文件移出预期的目录以使html无法找到它们或删除视频标签,则打印功能完美地起作用。目前这些视频直接位于jquery移动内容</div>标记的末尾,但我已尝试将它们移动到页面内容中,而不会改变行为。

有没有人遇到这个问题或知道我可能会修复它?

编辑:试图抓住与jquery的视频,并呼吁他们看我是否可以得到它点击,但没有去正确的火灾.remove()

+0

什么浏览器(S) ? –

+0

专门使用Chrome,但只是在Firefox中测试,并得到类似的行为。 –

回答

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> 
+0

我得到相同的行为,如果你实际上没有加载真正的视频,那么它的工作,你必须加载一个视频文件。 –

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; 
}