Какие методы блокируют в Javascript?
я пытаюсь переопределить стандартconfirm()
метод в Javascript (хороший интерфейс и прочее). Я'прочитал 100 сообщений, что это "Можно'не будет сделано "но я неЯ не хочу сдаваться, пока я не сделаю это честно. :)
Итак, настоящая проблема, конечно, в том, чтоconfirm()
Метод должен блокировать все выполнение JavaScript, пока пользователь не выберет опцию. Итак, какие методы в Javascript имеют блокирующее поведение? Я'мы смогли придумать 5:
alert()
- меня не устраивает, потому что он отображает нежелательный собственный интерфейс;confirm()
- та же проблема, что и;alert()
бесконечный цикл - даже современные браузеры будут поглощать процессор как сумасшедший и отображать "остановить javascript? подскажите через несколько секунд;XmlHttpRequest
в синхронном режиме - вроде как, но в нем задействован сервер ...showModalDialog()
- хорошо, но мне нужен конкретный дизайн, плюс есть некоторые требования совместимости браузера ...Лучший подход, который у меня есть, - это создать с подсказкой (которая затем получает свой собственный поток выполнения javascript) и блокировать с помощью
XmlHttpRequest
пока пользователь не выбрал опцию в, К сожалению, это включает передачу результата вперед и назад между сервером, и яЯ хотел бы сделать это на 100% на стороне клиента. Кроме того, он связывает серверный поток, когда диалоговое окно открыто, и могут применяться некоторые зависящие от браузера ajax-timeout.
Кто-нибудь может вспомнить какие-либо другие методы Javascript, которые блокируют выполнение, которые (ab) могут быть использованы для достижения желаемого эффекта?