Заметил, что jQuery.browser.version неверно определяет версию IE. Седьмой считается шестым.
Ошибка уже в трэкере, но ещё не поправлена:
http://dev.jquery.com/ticket/1867
http://dev.jquery.com/ticket/2661
http://dev.jquery.com/ticket/2413
user-agent, отдаваемый IE7 сменился с последними обновлениями на:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Соответственно регулярка совпала с MSIE 6.0.
Мораль: user-agent — штука ненадёжная. Лучше проверять наличие объектов, например:
//IE6 if (window.external && (typeof window.XMLHttpRequest == "undefined")) { //… }