2013-07-29 85 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; 
}