2011-10-20 2 views
0

SSE를 사용하여 사용 가능한 테이블을 업데이트하는 웹 응용 프로그램이 있습니다. 1 또는 2 여부에 관계없이 상태에 따라 DB를 읽고 그에 따라 좌석 배치를 업데이트합니다.서버 보낸 이벤트가 내 브라우저 충돌

그러나 브라우저를 사용할 때 (응용 프로그램을 실행하는 동안) 브라우저가 중단되고 해당 오류가 다시 발생하지 않습니다. 나는 그 오류를 일으키는 SSE를 강하게 의심한다.

아래의 표는 내가 사용하고있는 SSE 코드의 샘플입니다. 잘못 사용했거나 현재 불안정한 SSE입니다. 나는 이것에 인터넷 검색을 많이했지만 아무런 해결책도 아직 발견되지 않았다.

var source = new EventSource('../_php/busy_tables.php'); 
    source.onmessage = function (event) { 
    var data = JSON.parse(event.data);  
    for(var i=0; i<12; i++){ 
    //create li list    
    } 
}; 

정말 감사드립니다.

+0

정확하게 충돌을 일으키는 원인을 정확하게 파악합니다. SSE는 3 초마다 서버에 프롬프트합니다. 그러나 서버를 묻는 동안 3 초가 지나면 3 초 동안 기능을 탐색하거나 실행하면 브라우저가 충돌합니다. 이것에 대한 어떤 해결책? – Lee

답변

1

브라우저 공급 업체에 버그를보고하십시오. 그들은 아마도 "최소화 된"테스트 케이스를 원할 것이므로, 애플리케이션 외부에서 버그를 유발하고 관련된 스크립트를 보내는 방법을 찾는 데 도움이 될 수 있습니다.

내게 정말 뛰어든 유일한 사실은 event이라는 변수를 사용하고 있다는 것입니다. 그 이유는 약간의 (제한적인) 특별한 의미가 있기 때문입니다. 변수 이름 (예 : ev)을 변경하고 충돌이 여전히 발생하는지 확인하십시오.