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