2008-12-31 27 views
0

雖然主題聽起來像我正在尋找做一些shifty,我不是;我維護幾百個電話運營商使用的內部網站,並且想要添加以下功能:有沒有人知道可以從JavaScript調用來創建和保存桌面屏幕截圖的無GUI應用程序?

我想在所有網頁的標題中添加一個控件,以捕捉整個圖像桌面並將圖像作爲文件保存到共享網絡驅動器,以幫助解決生產問題。這個屏幕截圖應用程序將被JavaScript調用。

我已經研究了有關拍攝截圖本網站許多線程,和所有的應用程序提供不符合我的需要在以下兩種方法之一:

  1. 屏幕捕獲應用程序有一個GUI彈出,用戶調整某種捕捉控件的大小或與窗口進行交互以進行捕捉。這些用戶並不是非常懂計算機,並且不能正確地使用「彈出式」應用程序來信任 - 並且不可能強制他們使用通用文件命名約定來保存映像文件。我希望用戶在網站上按下單個UI控件,並讓JavaScript進行調用以獲取屏幕截圖並保存圖像,而無需進一步的用戶交互。

  2. 一些自動化應用程序通過重新發布的HTML保存到該網站和「重新組裝」各個HTML元素爲圖像。這將不起作用,因爲操作員輸入的輸入數據需要在圖像中,網站使用AJAX,因此網頁的可視「狀態」將不同於從POST重新獲得的可視「狀態」,並且某些應用程序嘗試與我們(安全)網站進行交互時遇到(活動目錄)安全問題。

如果沒有能夠滿足這個需求的應用程序,我只需將自己的控件轉換爲C#。但我寧願獲得第三方控制權,所以我不必支持我自己對生活的控制。 :-)

在此先感謝您的任何建議!

+0

您的用戶是否知道舊的Print Screen按鈕和電子郵件? (我從你提到的C#中假設他們是基於PC的)。 – Ady 2008-12-31 18:28:49

回答

0

JavaScript不因安全風險提供獲得該功能的本地系統。

我相信在網頁上這樣做的唯一方法可能是通過一個活動的X控件或Java小程序(類似於screencast-o-matic),但即使這樣安全性也可能成爲問題。

我也像,除非你自己的C#控件在Windows窗體應用程序也不會因爲是一個網站的一部分,將在服務器的客戶端上,而不是運行C#的控制工作。

希望這有一些幫助。

0

那麼要做到這一點,你需要的東西與不能由JavaScript獨自完成桌面交互。

你需要有一個Active X對象要能夠與客戶端的機器交互。一旦你有了,只需讓對象拍攝一張照片並保存到目錄就很容易。

我相信我有這個C#代碼來獲取屏幕快照。如果你想我會發布它。

0

一些替代的ActiveX/Java的:

  • 您可以創建一個Flash程序做了截屏。我沒有這樣做,也不知道細節,但我確信它可以完成。

  • 您可以設置爲屏幕捕獲custom protocol(如抓屏://),並在你的頭包括

    < A HREF = 「抓屏://這種/」 >屏幕捕捉</A >

鏈接。您需要找到一個無瑕疵的屏幕捕獲程序來執行實際捕獲並將其設置爲該自定義協議的處理程序。

0

做過一次。我無法找到一種直接的方式,它將HTML渲染爲畫布,然後使用html2canvas將畫布渲染爲圖像。帆布圖像是一個更常見的主題,所以你會發現很多教程。

HTML to Canvas

Canvas to image

注:從HTML渲染到畫布可能會留下一些元素的背後,如SVG。但總體而言,它做得和預期的一樣。

0

PSR(問題步記錄器)是用於在客戶端計算機上進行調試的強大工具,默認情況下它可在所有Windows計算機上使用。

請嘗試下面,看看它是否適合你。

轉到開始 - >運行並鍵入psr.exe(或只是psr)這應該打開記錄器。這很容易使用,所以即使用戶/客戶也可以使用它。如果它工作,然後嘗試下面的步驟來設置。

步驟1:註冊PSR協議。這告訴瀏覽器當頁面上的鏈接指向PSR協議時(我們將用它來打開這個錄音機)該怎麼做。 - 如下

HKEY_CLASSES_ROOT/ 
    PSR/ 
    (Default) "URL:PSR Protocol" 
    URL Protocol "" 
    shell/ 
     open/ 
     command/ 
      (Default) psr.exe 

創建註冊表值如果您不熟悉創建註冊表值,下載後雙擊文件this

  • 使用this鏈接瞭解更多信息。

第2步:現在創建一個示例html文件來測試啓動PSR。 將以下代碼保存到index.html文件並將其打開。

<html> 
    <head> 
     <head> 
    </head> 
    <body> 
     <a href="psr:start">Start Recording</a> 
    </body> 
    </head> 
</html> 

或下載this文件並將其打開。

這應該會打開您的PSR。它很容易使用,並且可以記錄調試所需的所有信息。

相關問題