Я рассматриваю возможность добавления alert() в нашу функцию утверждения утилиты 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, который я не могу сейчас работать. Я просто поместил его в vm с FF 2.0.0.20.