2012-01-23 26 views
0

私は今、クライアント側で画面キャプチャをしようとしています。私は "imagegrabscreen()"関数を使用しています。私はそれがサーバー側でのみ画面をキャプチャできることがわかった。私は新しい機能を見つけようとしましたが、クライアント側でしか画面をキャプチャするのではなく、クライアント上にも画面をキャプチャすることがわかりました。私はクライアント側でスクリーンキャプチャを使用し、javascriptを使用してバッチ経由でftp関数を呼び出し、それらのイメージファイルを中央サーバに転送することを一時的に考えました。 (すべての画面キャプチャファイルを同じ場所に保存する必要があります)クライアント側から画面をキャプチャしてサーバ側に保存することは可能ですか? (PHP)

もし何か考えがあれば助言してください。あなたはFirefoxでOK、この答えを見ている場合は、事前

+2

[ウェブページのスクリーンショットを撮るにはどうすればいいですか?](http://stackoverflow.com/questions/701798/how-to-take-a-screen-shot-of-a-web-ページ) – rdlowrey

+7

ありがたいことに、いいえ。それについて考えてみましょう。そして、それが世界にもたらすセキュリティリスクを考慮してください。 –

+1

重複する質問を参照してください:[PHPを使用したウェブサイトのスクリーンショット](http://stackoverflow.com/questions/757675/website-screenshots-using-php) – paislee

答えて

0

ありがとう:take screen shot using only js in firefox extension

<canvas id='my-canvas'></canvas> 
<script> 
var canvas = document.getElementById('my-canvas'); 
var ctx = canvas.getContext("2D"); 
// Draw the window at the top left of canvas, width=100, height=200, white background 
ctx.drawWindow(window, 0,0, 100, 200, "rgb(255,255,255)"); 
// Open another window with the thumbnail as an image 
open(canvas.toDataURL("image/png")); 
</script> 

ウィンドウのスクリーンショットが含まれていますし、あなたが簡単に使用してサーバにそのイメージを送ったことができますあなたのキャンバスcanvas.toDataUrl()を呼び出すとBase64でエンコードされた画像が返されるため、Ajaxを使用します。

この機能は、ここでのChrome権限https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas#Rendering_Web_Content_Into_A_Canvas

で動作するコードのためにのみ利用可能である理由 http://mxr.mozilla.org/mozilla/source/content/canvas/src/nsCanvasRenderingContext2D.cpp#2352これにはJavaScriptによってあなたには、いくつかのActiveXを呼び出すことを意味しない限り、あなたは、記述した技術のいずれかを使用できません

1

、ブラウザプラグイン、Java、またはクライアントマシンにインストールした実際の実行可能コード。

まず、ユーザーのWebブラウザに統合され、JavaScriptを使用してインターフェイスを提供するクライアントマシンに何かをインストールする必要があります。

関連する問題