Обновление IE9 после возврата Ajax-запроса - PullRequest
0 голосов
/ 18 марта 2011

У меня есть класс JavaScript, который отображает частично непрозрачный div поверх содержимого другого div, когда на сервер отправляется запрос Ajax.

Когда запрос возвращается, класс JavaScript скрывает частично-opaque div .... это прекрасно работает ... вроде.

Прямо сейчас, в IE9, когда Ajax-запрос завершен, частичная непрозрачность скрыта, только если пользователь перемещает свою мышь.

Итак, мой вопрос: как заставить браузер делать то, что он должен делать?

Это моя чрезвычайно простая функция, которая вызывается после возврата запроса в браузер:

_hideBlockingDiv: function() {
    if (this.get_blockingDivClientID()) {
        var blockingElement = $get(this.get_blockingDivClientID());

        if (blockingElement != null) {
            blockingElement.style.display = 'none';
            //I know that this method is executing correctly because I "hi" showed
            //up properly...but the element remained visible:
            blockingElement.innerHTML = 'hi';
        }
        //if I add the alert then everything works fine in IE9
        //if I don't then the page will remain the same until the user moves their mose
        //alert("done");



    }
}

Обратите внимание, что я не использую JQuery.Я использую библиотеку AJAX.NET, так как я являюсь разработчиком .NET (а JQuery не стал популярным до тех пор, пока я не реализовал свои серверные элементы управления с поддержкой Ajax)

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

Оказывается, проблема существует только в бета-версии IE9, которую я использовал в то время. Эта проблема исчезла после выпуска полной версии IE9.

0 голосов
/ 18 марта 2011

Как и откуда вы вызываете функцию _hideBlockingDiv? Поскольку вы используете библиотеку MS Ajax, вы можете захотеть, чтобы обработчик страницы загружался на стороне клиента и вызывал эту функцию из этого обработчика. Так что в основном

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function(){
_hideBlockingDiv();
});

Надеюсь, это поможет!

...