2008-10-21 11 views
6

원하는 기능으로 사용자가 스크린 샷을 찍을 수 있기를 원하는 ASP.Net 응용 프로그램이 있습니다. 이것이 시뮬레이션 될 수 있다는 것을 알고는 있지만, URL (또는 현재 렌더링 된 페이지)을 가져 와서 서버에 저장할 수있는 이미지로 변환하는 것이 정말 좋습니다.ASP.Net을 사용하면 프로그래밍 방식으로 브라우저 콘텐츠의 스크린 샷을 만들 수 있습니까?

이게 이상한가요? 그것을 할 수있는 방법이 있습니까? 그렇다면 어떤 참고 문헌입니까?

+0

그것은 미치지도 못하며 교활합니다. 내가 무엇을 탐색하는지 당신이 알기를 원하지 않아! –

+0

필자는 phyzome 대답을 받아 들여야하며 ASP.NET 태그가없는 다른 특정 질문 (브라우저 타겟 등)을 만들어야한다고 생각합니다. – Salamander2007

+0

ASP.NET 참조를 제거하는 것이 좋습니다. 나는 진정한 질문은 * 당신이 원하는 것을하기위한 것이 무엇이든간에 존재한다고 생각합니다. 제대로 작동하는 것을 발견하면 항상 사용하는 프레임 워크에 넣을 수 있습니다. – phyzome

답변

6

브라우저 내부에서 수행 할 방법이 없다는 것을 지금 알릴 수 있습니다. 도없고,이어야합니다. 페이지에서 iframe에 Gmail을 삽입한다고 가정 해 보겠습니다. 그 사람의 Gmail받은 편지함의 스크린 샷을 훔칠 수 있습니다!

브라우저가 도메인 간 제한을 위반하는 모든 iframe 및 포함을 "차단"하도록하면 안전 할 수 있습니다.

위와 같은 보안 고려 사항을 알고 있어야합니다.

업데이트 : 당신은 당신의 코드와 같은 기원에 페이지의 스크린 샷을 얻기 위해 캔버스 유틸리티 기능을 사용할 수 있습니다. 당신이 할 수있는 lib 디렉토리도있다 : http://experiments.hertzen.com/jsfeedback/

당신은 여기에 다른 가능한 답변을 찾을 수 있습니다 Using HTML5/Canvas/JavaScript to take screenshots

당신은 현재의 스크린 샷을 저장할 수 있습니다 Internet Explorer 용 IE7 Pro와 같은 브라우저 플러그인을 시도 할 수
+0

좋아, 사진을 캡처하여 저장하거나 사이트에 게시 할 수있는 Snag-It과 같은 브라우저 용 Windows 추가 기능은 어떨까요? 그게 가능하니? – pearcewg

+0

Firefox 용 Abduction 확장 프로그램에서 아이디어를 얻을 수 있습니다. 나는 당신이 준비되어있는 무엇이든을 찾아 낼 것이라는 점을 생각하지 않는다, 혼자서 cross-platform. – phyzome

3

Browsershots에는 XML-RPC 인터페이스와 사용 가능한 소스 코드 (Python)가 있습니다.

1

사이트의 파일을 디스크에 저장하십시오. FireFox를위한 유사한 플러그인도있을 것입니다.

3

무료 어셈블리 인 UrlScreenshot.dll을 사용했습니다. here을 다운로드 할 수 있습니다.

잘 작동합니다!

WebSiteScreenShot도 있지만 무료는 아닙니다.

1

당신이 설명한 것과 같이하고 싶다면. here에 설명 된대로 IE 출력을 인쇄하는 외부 프로세스를 호출해야합니다.

1

다른 접근 방법을 사용하지 않는 이유는 무엇입니까?

사용자가 동일한 콘텐츠를 다시 볼 수 있어야하는 경우 애플리케이션의 비즈니스 요구 사항 인 것처럼 들리므로 애플리케이션에 제작해야합니다.

URL을 구조화하여 동일한 사용자 (세션이 있고 응용 프로그램이 다른 사용자에게 서로 다른 것으로 나타 났을 때)가 동일한 URL을 방문하면 항상 같은 것을 보게됩니다. 그런 다음 URL에 로컬로 책갈피를 추가하거나 사용자 프로필에 URL을 저장하는 응용 프로그램 기능을 사용할 수도 있습니다.

이 부분은 "깨끗한 URL"을 만드는 것을 의미합니다 (예 : site.com/view/whatever-information-needed-here).

시간에 기반한 데이터를 작성하는 경우 이전 데이터가 바뀌면서 변경되는 경우 가능한 몇 가지 접근 방법이 있습니다.

  • 데이터가 정기적으로 변경되지 않으면 site/view/2008-10-20과 같이 "현재"페이지를 항상 만들 수 있습니다 (적절한 경우 시간/분/초 추가).).
  • 새로 고침 및/또는보다 정기적으로 업데이트하는 경우 site/view ..로 "현재"페이지를 사용하고 정확한 시간은 나중에 지정할 수 있습니다. 이 경우 전체 날짜/시간이 포함 된 영구 URL에 링크되는 "이 페이지에 링크"유형 기능이 있어야합니다. 여기에서 영감을 얻기 위해 Google지도를 살펴보세요.지도를 스크롤하면 항상 여기에있는 링크를 클릭하면 GPS 좌표,지도상의 개체 등이 포함 된 링크가 제공됩니다. 매우 친숙한 URL이지만 꽤 잘 작동합니다. :)