2014-12-05 29 views
0

有一個頁面需要通過Javascript排序。對DOM進行Javascript更改會影響頁面的打印版本嗎?

如果我做了這樣的排序,然後用戶決定打印頁面,將打印原始DOM還是更新的DOM?

我可以看到它是原始DOM,因爲它重新加載頁面,然後應用@media打印樣式,或者我也可以看到它只是切換頁面的CSS。

如果瀏覽器之間有區別,我真的只關心Chrome和Firefox。

+2

你爲什麼不試試?雖然我相信它會在打印訪問時打印DOM。 – 2014-12-05 20:40:59

+0

我目前正在探索與我已經給予的任務的可能性。在我真正寫代碼之前,我想知道什麼是可能的? – 2014-12-05 20:42:50

+1

看起來很簡單。打印一個示例HTML頁面,打開檢查員,改變一些東西,再次打印......你可以在任何頁面上從字面上嘗試。 – 2014-12-05 20:43:33

回答

0

在Chrome和FF中,您都會在打印預覽和Chrome的網絡選項卡中看到更新的DOM,因此不會記錄與服務器的新交互。

http://jsfiddle.net/zLL4814s/

<h1 id="headerTag">Hello</h1> 

<button onclick="changeText()">click to change text</button> 

JS

window.changeText = function() { 
    document.getElementById('headerTag').innerHTML = "Bye"; 
    window.print(); 
} 
0

是啊。如果我們打印頁面,打印的內容基本上是視口的內容,如果存在媒體查詢以獲得更好風格的打印(例如@media print { }),則僅與瀏覽器視圖不同。

也就是說,確保頁面可打印需要一些TLC,特別是如果UI非常複雜。通常情況下,如果HR中某人某天可能想要打印的頁面,因爲它包含圖表,數據,&等,通常只需使用媒體查詢就可以訪問display: none;以外的所有頁面,但頁面上的所有感興趣的組件都可以使用。

相關問題