Обнаружилось досадное недоразумение – onreadystate вызывалось чаще чем задумано 🙂 – readyState изменялся примерно следующим образом: 1,1,2,3,4,4.
соответственно обработчик(ну который на readyState == 4) вызывался два раза. Погрешил на новый FireFox (в 1.0.7 такого не наблюдается) и добавил проверку на тот случай если обработчик уже вызывался.
А причиной такого недоразумания оказался GM-скрипт XMLHTTPDebugging, назначение которого думаю понятно из названия, а принцип действия прост как 3 копейки – подменяется оригинальный объект window.XMLHttpRequest на свой, с перегруженными свойствами.
Теперь интересно – а лишней ли была та проверка, которую я добавил? (или по-другому: какова вероятность того, что у пользователей получившегося сайта будет установлен подобный софт ? )
Technorati Tags: XMLHttpRequest, firefox, GreaseMonkey