2010-08-08 4 views
1

야간 빌드 r59903 WebKit의 WebSocket 프로토콜 변경으로 인해 추가 스크립트를 실행해야하는지 여부를 알아야합니다. 이는 WebKit 빌드 번호에 따라 다릅니다. jQuery를 플랫폼으로 사용하고 있으므로 $.browser.webkittrue이라고 가정합니다. 그런 다음 클라이언트 WebKit 빌드가 59903 이상인지 확인하려면 어떻게합니까? $.browser.version533.17.8 또는 533 등을 말하며 빌드 번호는 아닙니다.클라이언트 브라우저에서 특정 웹킷 빌드를 감지하는 방법은 무엇입니까?

EDIT 문제는 페이지로드 단계 (실제로 선택할 수있는 두 가지 가능한 시나리오가 있음)에서 추가 항목을 실행할지 여부를 결정해야한다는 것입니다. 그러나 페이지가로드 된 후 WebSocket 프로토콜 변경 사항을 감지 할 수 있습니다 (서버는 지원되지 않는 프로토콜 버전으로 연결을 거부하고 WebSocket 객체는 자동으로 닫힙니다).

+0

웹킷 빌드가 적용된 브라우저 버전을 타겟팅 할 수 없습니까? – Marko

+4

아마도 빌드 번호 대신 WebSocket 구현의 변경 사항을 감지 할 수 있습니까? –

+0

@Marko Ivanovski 덜 믿을만하다고 생각합니다. 사용자가 잘 알려지지 않은 WebKit 브라우저를 사용한다고 가정합니다. @Gert G 나는 그것이 바람직하지 않은 이유에 대해 몇 가지 의견을 추가했습니다. – eigenein

답변

1

빌드 번호는 완전히 임의의 값이며, 앞으로 뛰어 오거나 형식을 변경할 수 있으며 결코 WebKit의 릴리스 버전에 포함되지 않습니다.

필요한 기능을 테스트하거나 try/catch를 사용하고 "추가 스크립트"항목으로 되돌릴 수 있습니까?

+0

귀하의 아이디어와 관련하여 질문에 의견을 추가했습니다. 그러나, 나는 그런 해결책을 내가 아는 유일한 해결책이라고 생각한다. – eigenein

관련 문제