У меня есть приложение Android, которое генерирует некоторый HTML, который отображается локально в представлении Webkit.
Детали генерации HTML на самом деле не так важны, за исключением:
- большая часть этого исходит из одного места, и я не могу изменить его
- шаблон вокруг этого HTML (включая верхние и нижние колонтитулы, HEAD и т. Д.), CSS и Javascript находится под моим контролем.
- Большинство изображений находятся под моим контролем и отображаются отдельно от неприкасаемого HTML. Эти образы приходят с локального диска и не требуют сети. Можно предположить, что эти изображения всегда доступны.
- неприкасаемый HTML содержит изображения, которые в идеале будут отображаться. Если сеть недоступна, то эти образы не смогут загружаться.
- Весь HTML-файл, вероятно, будет сохранен на диске задолго до его рендеринга. то есть мы не можем отображать другой HTML в зависимости от доступности сети.
Приложение, вероятно, будет в автономном режиме по крайней мере некоторое время, поэтому я хочу обработать случай, когда изображения не загружаются.
Рассматриваемые изображения - это преимущественно изображения трекинга 1x1, но могут содержать изображения, которые должны быть видны, если они доступны.
Не вызывая JQuery или внешнюю библиотеку, что бы вы посоветовали моему плану атаки?
У меня есть мысли о том, как это сделать, но я понимаю, что это много ловушек, о которых нужно беспокоиться:
- с помощью селектора CSS, выберите все изображения, которые не были загружены (есть ли такой селектор?) И используйте
display:none;
.
- с помощью Javascript установите атрибут
alt
на каждом изображении в пустую строку. Это должно быть сделано на document.onLoad
?
- проверить доступность сети, а затем с помощью CSS скрыть все изображения с помощью @ href ~ = ^ http. Я не уверен, как / когда применять этот стиль.
Если это поможет, для этой проблемы у меня, кажется, есть следующие подзадачи. Не ясно, оптимальная стратегия для любого из них:
- как определить загруженность изображений или состояние сети.
- как скрыть / замаскировать не загруженные изображения, чтобы пользователь не обнаружил, что изображение отсутствует.
- когда выполнять эти задачи (например, когда документ / окно завершило загрузку?)
- как их применять.
Любые мысли, код, предложения будут с благодарностью приняты.