Показать сообщение отдельно
  #1 (permalink)  
Старый 25.11.2010, 20:46
Новичок на форуме
Отправить личное сообщение для vitalif Посмотреть профиль Найти все сообщения от vitalif
 
Регистрация: 25.11.2010
Сообщений: 4

Зависимость работы асинхронного кода от alert
Привет!
Уже не первый раз натыкаюсь на следующую ситуацию:
Есть некий js-код, который в Firefox прекрасно работает, но.... только под дебаггером (типа Venkman'а) или если в произвольное место вставить alert(). Т.е. начинаешь отлаживать - работает. Прекращаешь - не работает!
В прошлые разы что это было - не помню.

А в этот раз это аж целый SVG-Edit, прикручиваемый к MediaWiki (у нас тут в CustIS, если кто знает - это как раз та самая сборка экстенжнов, о которой мы рассказывали на ADD)!!!
Причём я могу это продемонстрировать на нашей внешней "вики-песочнице":

http://wikisandbox.custis.ru/Фай...ботки.svg

Попробуйте кликнуть кнопку внизу страницы и отредактировать файл SVG-Edit'ом под Mozilla Firefox, и узрите баг - файл не загрузится! В то же время если вставить в fetchSVG(), либо в другое место, к примеру в callback из svgEditor.addExtension, в файле extensions/SVGEdit/svg-edit/ext-mediawiki.js обычный alert('что угодно'), файл начинает стабильно грузиться! То же самое происходит, если гонять сие под Venkman JS Debugger'ом. В Chrome происходят похожие вещи. В Opera всё отлично работает всегда.

Чтобы пробовать сохранить файл, сначала нужно зарегистрироваться (ссылка в правом верхнем углу). Чтобы открыть - не обязательно...

Если кто-нибудь знает или подозревает, ЧТО ЭТО ЗА НАФИГ, расскажите, пожалуйста?
Ответить с цитированием