2011-06-15 48 views
1

我有一個需要知道在哪裏打印某些標籤的Intranet應用程序。我們有多個工作站設置。我需要一種方法來檢索客戶端的主機名,以便當他們打印出來的東西時,它會從正確的打印機中傳出。現在,我已經設置了登錄,但很好奇,如果我真的可以在客戶端拉主機名,然後在服務器端,我可以輕鬆解析主機名來設置打印機。解決了用戶一次登錄到兩個工作站的問題。授予它不應該發生,但用戶將成爲用戶。通過javascript或jquery獲取客戶端電腦的主機名

應用程序正在向斑馬打印機打印標籤,以便在服務器上進行打印,但打印作業會發送到正在使用的工作站旁邊的標籤打印機。

TIA!

+0

如果它是一個內聯網,是必需的,或者你可以使用任何? – Robert 2011-06-15 14:49:17

+0

Firefox只被使用。 – Ominus 2011-06-15 14:50:49

回答

2

由於打印是在服務器端完成的,您爲什麼需要JavaScript解決方案?

您需要的是檢查服務器實現中與REMOTE_HOST和/或REMOTE_ADDR CGI變量等效的任何內容。

編輯:如果您無法更改打印代碼,請按照Andrew的建議恢復爲通過AJAX調用的單獨腳本,這可能是獲取所需內容的一種方法。但它看起來像一個非常迂迴的做法。

1

沒有任何可靠的方式來做你所要求的,而不使用外部腳本並通過Ajax請求它。

參見:Can I perform a DNS lookup (hostname to IP address) using client-side Javascript?

編輯:注意,如果你能會更好(更少的HTTP請求),更容易只是在頁面中包含之前在服務器端動態生成<script>標籤的主機名被加載,這樣數據就已經存在了,當你需要的時候。

+0

因此,我可以在他們的機器上放置一個可以返回主機名的小python腳本,但是如何從JavaScript調用它?我沒有意識到我可以做到這一點。 – Ominus 2011-06-15 14:51:53

+0

從Javascript調用腳本被認爲是Ajax(異步Javascript和XML - 忽略XML部分,它也可以是其他格式)。您可以通過以下幾種方式來實現:使服務器上的腳本通過XML或Json返回客戶端信息,或者甚至可以使服務器端腳本輸出Javascript並將其作爲腳本標籤包含在頁面中:var client_hostname = ...' – 2011-06-15 14:57:18

+0

@Andrew腳本應該運行在*客戶端*上,而不是*服務器*上。除非你讓每個客戶都進入他們自己的服務器。 – Zecc 2011-06-15 15:32:56

相關問題