2011-04-26 4 views
0

누군가 내 웹 작업자가 작동하지 않는 이유를 말해 줄 수 있습니까? 잘 실행되는 애니메이션 캔버스를 그립니다. 그러나 텍스트 상자를 통해 크기를 조정하면 JavaScript가 실행될 때까지 실행이 중지됩니다. 이제 저는 캔버스의 움직임을 멈추지 않으면 서 그래픽의 크기를 조정하는 작업자를 만듭니다. 값을 텍스트 상자로 가져 와서 문자열로 변환 한 다음 결과를 숨겨진 필드 값으로 설정하여 숨겨진 필드의 값을 업데이트하려고합니다. 그것을 위해 나는 파일을 만듭니다. html 마크 업에서 JavaScript 코드가 없다는 의미입니다. 코드 파일은 다음과 같습니다.웹 작업자가 작동하지 않습니다.

+0

올바른 형식으로 코드 네 칸을 들여 씁니다. 당신은 편집기의 버튼을 사용할 수 있습니다 – mpen

답변

3

웹 근로자는 호스트 환경에 액세스 할 수없는 비동기 자바 스크립트 처리 환경 인 DOM을 사용합니다. 웹 작업자는 강력한 알고리즘, 수학 계산을 오프로드 할 수 있지만 양식 요소에 액세스하거나 DOM을 변경하거나 액세스 할 수 없으며 아약스 요청을 생성 할 수 없다고 생각합니다.

+0

감사합니다 엘리. 캔버스의 움직임을 멈추지 않고 숨겨진 필드의 값을 업데이트하려면 어떻게해야할까요? – miaf

0

이 문제를 해결할 수있는 Chrome의 업데이트가 있습니다.

이 대답을 바탕으로 Chrome을 사용하면 데이터를 다시 작업자에게 전달한 다음 캔버스에 다시 써서 다른 사람들도 따라갈 수 있지만 테스트를 계속 진행할 수 있습니다.

Web Workers and Canvas

이 데모는 WebWorkerCanvas로 할 수있는 아이디어를 얻을 어떻게 작동하는지보고 할 수 있습니다.

http://www.robodesign.ro/coding/html5-demo-video-histogram/index-web-worker.html

+0

제임스 감사합니다. 이 응용 프로그램은 Blackberry mobile에서 실행됩니다. 그래서 내 주요 문제는 어떻게 입력 된 텍스트의 값을 가져 와서 숨겨진 필드에 그 값을 보내는 것입니다. 그것을하는 방법인가요? – miaf

+0

변경 사항이있을 때 웹 근로자를 멈추게 한 다음 새로운 값으로 새 작업자를 시작하는 것이 어떻겠습니까? 그것은 자바 스크립트에서 빠를 것이므로 사용자는 어떤 변화도 보지 않아야합니다. –

+0

나는 잃는다. 실행중인 예제가 있습니다. 나는 내게 달리지 않는 것을 이해할 수 없다. 나는 코드를 줄이지 만 아무것도 줄이지 않는다. 만약 당신이 그걸 훑어 보지 않으면. – miaf

관련 문제