2012-01-12 3 views
5

WebWorker 내에서 작동하는 WebSocket 연결을 구현하려고합니다. 간단해야하고 Chrome을 b 행사로 사용하는 경우입니다. 그러나이 실험이 제작의 일부가되어야하므로 모든 위대한 브라우저, 즉 Firefox에서도 작동해야합니다.Firefox와 WebWorkers 및 WebSockets

제 문제는 Firefox에서 제대로 작동하지 않는다는 것입니다. 처음에는 Firefox가 WebWorker를 만들 수 없었습니다. 그것은 버그 였고 버전 9로 수정되었습니다.하지만 이제는 Worker 내에 WebSocket을 만들 수없는 것 같습니다. 이 작업을해야 this에 따라,

WebSocket is not defined 

음 :

var ws = new WebSocket(url); 

와 함께 실패

나는 다음 코드 줄을 시도했다. 그러나 WebWorker 내에서나이 컨텍스트 외부에서든 그렇지 않습니다. 나는 더 오래된 것을 시도했다

var ws = new MozWebSocket(url); 

WebWorker 외부에서 작동하는 것으로 보이지만 위와 같은 오류가 발생한다.

이제는 무엇이 문제입니까? 일부 구버전 버전 9에서 비활성화 된 바이 디폴트가 크롬과 비슷한 기능을 지원해야하는 WebSockets을 알고 있습니다. 그래서 내가 뭔가 잘못하고있는거야?

나는 우분투 11.10을 사용하고 다른 브라우저를 아직 테스트하지 않았습니다.

미리 감사드립니다.

+1

이것이 파이어 폭스 버그 (WebWorker에서 WebSocket 객체를 볼 수 없게하는 것) 일 가능성이 있습니다. 나는 mozilla에 대한 버그를 제기하고 여기에 응답이 무엇인지 다시 게시 할 것입니다. – kanaka

+0

이것은 [Firefox 38] (https://bugzilla.mozilla.org/show_bug.cgi?id=504553#c161)에서 최종 수정되었습니다. –

답변

6

아직 Firefox의 근로자에게는 WebSocket이 지원되지 않습니다. https://bugzilla.mozilla.org/show_bug.cgi?id=504553

업데이트 : Firefox 35가 추가되었습니다.

+0

알겠습니다. 마치 그들도 그것에 대해서 뭔가를하려고하는 것처럼 보이지 않습니다. 고맙습니다. – j0ker

+0

'Olli Pettay [: smaug] 2012-10-29 02:00:09 PDT' _이 버그로 _ _'Andrea Marchesini (: baku) 2012-10-29 04:38:29 PDT' _ 나는 대부분이 문서를 쓰는이 버그에 시간을 할애해야한다. 가장 좋은 방법은 패치가 거대하고 코드가 너무 많이 변경되어 다른 사람과 얼굴을 마주 보며 검토하는 것입니다 ._ – knutole

+0

방금 ​​버그 꼬리표를 범했습니다. 504553 –