Как уже упоминал @OscarRyz, вызов AJAX здесь не имеет значения.
Вы должны создать Java-апплет, который вызывает new Robot().checkScreenCaptureAllowed()
. Это захватит весь экран.
Проблема в том, как понять, где находится видимая область. Вы, вероятно, можете сделать это. Вы должны создать хотя бы один видимый элемент в вашем апплете. Этот элемент может быть даже очень маленьким (например, один пиксель), поэтому пользователь его не увидит. Затем вы можете вызвать getLocationOnScreen()
, который дает вам абсолютную координату на экране. Если ваш Java-апплет находится в верхнем левом углу, это точка, где начинается ваша видимая область.
JavaScript позволяет узнать высоту и ширину текущего окна: window.innerWidht
и window.innerHeight
. Итак, теперь вы можете сделать снимок экрана и вырезать область, которая вам нужна.
Но учтите, что new Robot().checkScreenCaptureAllowed()
проверяет READ_DISPLAY_PIXELS_PERMISSION
, и я не думаю, что у вас есть такие разрешения для неподписанного апплета, поэтому вам придется подписать свой апплет.
Чтобы избежать этой проблемы, взгляните на это: http://html2canvas.hertzen.com/ - скрипт, который «захватывает» экран и использует только JavaScript.