>

IE9에서 SignalR을 사용하고 있습니다. 불행히도, 영원히 프레임 연결을 사용하려면 성능이 저하되어야합니다.

IE의 개발자 도구로 이것을 보는데 시간을 보냈습니다. 동적으로 삽입 된 IFrame에 콜백이로드되는 것을 볼 수 있으며 SignalR 플러그인에서 receive 함수를 호출합니다. 그러나 약 20/30 후에 응답이 중지됩니다. 더 이상 서버에서 클라이언트 스크립트를 호출 할 수 없습니다.

IFrame로드가 마침내 시간 초과되고있는 것으로 추측되지만 이에 대한 이벤트가없는 것 같습니다. 다시 연결을 강제 할 수 없습니다.

IE에서 작동하는 강력한 SignalR 연결을 가진 사람이 있습니까?

감사합니다 :)

  • 답변 # 1

    웹 사이트의 자바 스크립트가 작동을 멈추는 문제가있었습니다. 특히 Ajax 호출이 작동하지 않는다는 점에 주목했습니다. 조사 결과 SignalR이 충돌의 원인임을 발견했으며 Forever Frames에 대한이 게시물을 찾았습니다. 우리는 클라이언트 JavaScript에서 다음 코드를 사용하여 SignalR에서 Forever Frames 지원을 제거하려고 시도했습니다.

    $.connection.hub.start({ transport: ['webSockets', 'serverSentEvents', 'longPolling'] });
    
    

    'webSockets', 'serverSentEvents', 'longPolling'만 지원합니다.

  • 답변 # 2

    이 Github 문제에 따르면 jQuery 1.10.1에서 수정되었습니다.

    문제는 1.9.x에서 도입되었고 1.10.1에서 수정되었습니다.

    JQuery 1.8.1로 실행하면 작동하는 것 같습니다.

    솔루션 : jQuery 업데이트

  • 답변 # 3

    이 문제가 발생할 때마다 실제로는 좀비 IE9 프로세스가 백그라운드에서 실행되고있었습니다. 그들은 그들과 관련된 창문조차 없었습니다. 그래서 나는 좀비를 죽이고 새 IE 인스턴스를 다시 시작하고 문제가 다시 발생하는 원인이 무엇이든 될 때까지 오랫동안 문제가 없습니다.

    내가 아는 소리는 미쳤다. 그러나 나는 David Fowler에게 문제의 증상을 설명하는 데 오랜 시간을 보냈다. 세션. SignalR 메시지 자체는 항상 논리 메시지 스트림을 올바르게 종료했습니다. onreadystatechange 이벤트는 단순히 실행을 중지합니다.

  • 답변 # 4

    문서 준비 이벤트에 넣으면 모든 iframe 문제가 해결됩니다.

    $.connection.hub.start({ transport: ['webSockets', 'serverSentEvents', 'longPolling'] });
    
    

  • 이전 java - HDP 플랫폼의 Kafka NoSuchMethodError
  • 다음 python - 데이터 프레임에 새로운 계산 열을 추가하려면 어떻게해야합니까?