CSS фоновые изображения не будут загружаться после отправки формы - PullRequest
1 голос
/ 25 августа 2011

У меня есть поисковая форма, которая после отправки загружает результаты поискового запроса на новую страницу. Однако при нажатии кнопки «Отправить» требуется около 10 секунд, прежде чем будет отображена следующая страница, поэтому я показываю окно загрузки (через ExtJS), пока пользователь ожидает загрузки следующей страницы.

Проблема в IE9, граница, которая использует фоновые изображения, не отображается в окне загрузки.

Я немного покопался и пришел к выводу, что по какой-то причине IE9 не будет загружать ни одно из изображений, указанных в CSS, после отправки формы (и загрузки следующей страницы).

Если я использую следующий код, чтобы установить тайм-аут за 200 миллисекунд до отправки формы, все загружается нормально.

function() {    
    Ext.MessageBox.wait('Searching for tenants eligible for rent increase...', 'Searching');
    setTimeout(function() { document.getElementById('rental_increase_form').submit(); }, 200);
    return false;
}

Итак, вот мои вопросы:

Может ли кто-нибудь еще подтвердить, что IE9 не загружает изображения CSS на текущей странице после начала запроса на следующую страницу? Это ошибка или предполагаемая функциональность? Может ли кто-нибудь предложить решение, которое не предусматривает установку тайм-аута перед отправкой формы? Это решение кажется немного хакерским.

1 Ответ

2 голосов
/ 25 августа 2011

У вас нет IE для подтверждения, но вы можете просто предварительно загрузить эти изображения в начале первой страницы? Например. создайте набор скрытых элементов, у которых эти фоновые изображения установлены в их CSS. Таким образом, вы будете загружать изображения и когда вы показываете окно загрузки. Не знаю, является ли это единственной проблемой, но вы можете попытаться проверить, работает ли она.

...