2014-07-22 95 views
1

我使用javascript調用onclick事件的打印功能。如何在沒有打印預覽窗口的情況下打印

<input type="button" value="Print" onclick="window.print()" /> 

我使用此代碼打印頁面,但我想通過'打印預覽'窗口。

如何在不打開打印對話框的情況下直接打印到默認打印機。

+0

您不能,它取決於瀏覽器 – grigno

+0

純JavaScript中不可能。 VBScript可能。 [看看這裏](http://stackoverflow.com/questions/1096862/print-directly-from-browser-without-print-popup-window) – alexP

+1

這樣做會是一個惡意的途徑,試想一下導航到網站,突然你的打印機已經排隊了3000頁的隨機垃圾,它自己開始......你不能強制打印作業,用戶總是要確認它,並確保它是他們真正想要的。 – Lochemage

回答

1

瀏覽我的網頁WWW .......

(用戶點擊)

KOBOM!打印100頁。

它應該是不可能的,因爲否則它會成爲一個安全問題(這種情況下,垃圾郵件)。你的代碼涉及到I/O通信,這通過瀏覽器(一切都通過瀏覽器,但在這裏他們從你的代碼控制)。你實際上做得很對,但是你選擇的瀏覽器已經決定彈出一個對話框並等待用戶接受打印命令。

那麼,瀏覽器設計師希望爲他們的用戶提供良好的用戶體驗,並以這種方式防止潛在的垃圾郵件。 Javascript知道它,這就是爲什麼在打印機功能中沒有這個參數。

你還想要這樣做嗎?嘗試爲當前瀏覽器找到附加組件或調整組件,以允許此類旁路。創建你自己的應用程序(可以是瀏覽器)。

問題與這種方法?你不想要求其他用戶安裝或配置這些東西;對於普通用戶來說太多了,而你的意圖是讓事情變得更簡單。

相關問題