Я рассматриваю возможность добавления alert () к нашей функции assert для утилиты javascript.
Мы являемся приложением, насыщенным ajax, и то, как наша инфраструктура (Ext) реализует ajax, опрашивая ответ ajax с помощью setInterval вместо ожидания readystate == 4, заставляет выполнять все наши обратные вызовы ajaxв контексте стека setInterval - и исключение / утверждение выдает его обычно молча.
Как низкоуровневое предупреждение () влияет на цикл событий браузера?Окно сообщений по определению должно позволять прокачке цикла событий win32 (реагировать на кнопку mbox).Означает ли это, что будут запущены другие события браузера, такие как будущие setIntervals, генерируемые нашей платформой, события изменения размера и т. Д.?Может ли это вызвать у меня проблемы?
IIRC: вы можете использовать FF2 и FF3.5, чтобы увидеть разницу, о которой я говорю.
alert('1');
setTimeout(function(){alert('2');}, 10);
alert('3');
FF 3.5 показывает 1-3-2.FF2 [1] показывает 1-2 и 3 (2 и 3 сложены друг на друга одновременно).Мы можем реплицировать 1-2 и 3 в IE8 с помощью win32 mbox, запущенного также из activex, вместо предупреждения, которое вызвало у нас недовольство в тот день, и я хочу убедиться, что мы не пойдем по этому пути снова.
Может ли кто-нибудь указать мне на конкретные низкоуровневые ресурсы, которые объясняют это поведение, каково ожидаемое поведение здесь и что именно происходит на низком уровне, включая то, почему поведение изменилось в версиях FF?
[1] вы можете скопировать это на Spoon.net, но я не могу сейчас работать.Я только что перенес его в виртуальную машину с FF 2.0.0.20.