2015-10-06 81 views
0

我想在瀏覽器打印的每個頁面上顯示某個文本(ID),如Word文檔中的標題。從環視四周有大量的黑客入侵,這似乎不適用於所有瀏覽器和網站(How to use HTML to print header and footer on every printed page of a document?)。從瀏覽器打印時更改頁面標題

我以爲我可以在打印之前更改網頁的標題,在瀏覽器添加的自動頭中顯示ID,打印後重置​​爲原始標題(ID不應該在標題離開頁面後,由瀏覽器歷史保存)。它可以收聽到的打印事件在所有瀏覽器:Chrome瀏覽器中使用下面的代碼嘗試它的時候了https://stackoverflow.com/a/3619706/198953但是:

 var mqList = window.matchMedia("print"); 
     mqList.addListener(function (mql) { 
      if (mql.matches) 
       document.title = "a certain text"; 
      else 
       document.title = origTitle; 
     }); 

頁面的標題被更新打印預覽顯示。現在,我可以在輸入頁面時爲標題設置標題,但是我不能讓瀏覽器歷史記錄保存該標識。我的問題沒有解決方案嗎?

問題:如何在瀏覽器打印的每個頁面上顯示特定文本,而不將其保存在瀏覽器歷史記錄中?

+1

問:你確定標題將要打印的?瀏覽器通常允許用戶選擇不打印頁面元數據(標題,日期,URL)。也許你會更好地服務於文檔正文中的某些內容,這可以通過@media CSS規則直接顯示。 – Touffy

+0

@Touffy用戶可以選擇退出正在打印的元數據,但默認設置是顯示它,這就足夠了。 – cederlof

+1

您是否嘗試過http://www.w3.org/TR/css3-page/#populating-margin-boxes?我不指望它被實施太多,但它看起來很有希望。 – Touffy

回答

0

我會看看使用打印介質選擇器,正如Touffy剛剛提到的。

您可以擁有一段可以更改的文本,但只能顯示打印機介質類型。

這個問題有你需要的CSS和一個小例子:

Element visible only on print page

+0

謝謝,我正在使用媒體查詢進行打印,但是我需要一個解決方案,將文本顯示在每個*打印頁面的標題中。 – cederlof

+0

你不能簡單地實現這個CSS到頁眉中的新元素? –

+0

我有一個網站頁面,打印時會變成三個打印頁面(太長一個)。沒有頁眉會打印每個頁面? – cederlof

相關問題