2013-09-10 3 views
5

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

Моя проблема заключается в том, что некоторые иконки или изображения в сообщениях предупреждения не показаны, так как они загружаются, когда пользователь уже потерял связь ... Изображений в CSS не в HTML:

.warning 
{ 
background: #FFE680 url(../images/ico_warning.png) no-repeat 10px center/18px; 
} 

Как я могу предварительно загрузить изображения/значки на странице, чтобы использовать их в автономном режиме?

NB: Я не могу использовать в автономном режиме HTML5 (манифеста), потому что мои целевые пользователи находятся на IE9 (html5 манифест не поддерживается) и по личным причинам я не могу использовать спрайты ...

Спасибо для вашей помощи

+0

хак: Приложить скрытый DIV на странице с тегом IMG. Использование javscript вытащить это изображение при обнаружении автономного состояния. –

+0

ОК, похоже, нужно работать с этим взломом. Но я не хотел добавлять неиспользуемый элемент непосредственно на страницу, поэтому я инициализировал сообщение со всем img в контенте. Когда сообщение отображается, я заменяю все содержимое поля своим сообщением, поэтому изображения не отображаются. Спасибо за вашу помощь – ylerjen

ответ

2

Ok, Я нашел способ загрузить изображение в автономном режиме. Поскольку CSS полностью загружен в любом случае, если я помещаю изображение в CSS как строку base64, для его отображения не потребуется подключение.

Вот Exemple

.warning{ 
background: #FFE680 url('data:image/png;base64,iVBORw0KGgoAA_complete_base64_string_here...') no-repeat 10px center/18px; 
} 
0

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

Хитрость будет заключаться в том, чтобы установить background-repeat на no-repeat и background-position на -999em -999em. Таким образом, изображения будут загружаться, но визуально скрыты.

+0

Здравствуйте, я попробовал с этим решением, но я думал, что это не подходит в моем случае. С помощью этого решения я «загрязню» CSS, потому что у меня есть несколько изображений ... В любом случае спасибо за ваш ответ. – ylerjen

+0

yep, вы либо «загрязняете» свой html, либо css .. до вас :) Я предпочитаю свой вариант, потому что ему не нужны какие-либо специальные элементы html или любая магия javascript – skip405

Смежные вопросы