簡體   English   中英

如何打印已被javascript更改過的頁面?

[英]How can you print a page that has been altered by javascript?

這是我所擁有的屏幕截圖

用戶可以通過刪除項目,添加項目或單擊項目以將其划掉來更改頁面。 我希望用戶能夠打印使用javascript更改過的頁面。 據我了解,要讓用戶打印,您將創建一個具有不同樣式表設置的單獨文件。

我正在使用Rails 4,我想我會用為用戶創建PDF。

1)我不知道如何在刪除,添加和刪除正確的內容的情況下生成文檔。

2)我不確定我將如何生成文檔,使其不具有導航之類的內容(因為您不需要打印出來的列表)。 我當時只是想用CSS隱藏它。

1)客戶所做的更改是在客戶端嗎? 在這種情況下,請跟蹤所有用戶的更改,並在用戶單擊“打印”時,將所有這些更改(如參數)發送到rails,以便您可以從rails操作中呈現要打印的正確信息。

但是通常,在rails / javascript應用程序上,當用戶在客戶端使用javascript執行不同的操作時,它會調用一些ajax代碼來通知rails應用程序有關的更改,因此您可以將新狀態存儲在rails數據庫中,因此用戶可以稍后重新加載狀態。 您還可以將應用程序的狀態存儲在會話或臨時緩存中。

2)這正是我要自定義用戶正在打印的內容時要做的事情,我隱藏了不想打印的類,在html上(包括css時),您告訴瀏覽器css應該是通過包括媒體打印內容應用於打印的文檔,例如:

stylesheet_link_tag "my_style", media: "print"

不過,在這種情況下,您沒有使用瀏覽器打印功能,據我從您的問題中可以理解的那樣,您將生成pdf,因此,您將結束從rails渲染視圖,您可以添加一個使視圖知道將要渲染以進行打印的參數(因此您可以繪制自定義css或避免渲染導航欄),或者可以使用自定義代碼/視圖調用其他操作來生成pdf。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM