Как отложить загрузку изображения с URI данных?

Я использую URI данных для загрузки изображений на одну страницу и помещаю script в конец своего HTML. В отличие от использования обычного URL-адреса для изображения src, данные будут загружены непосредственно в HTTP-запросе для html-страницы.

Таким образом, script будет загружаться очень поздно в конце страницы, так как у меня есть сотни данных изображений, загруженных таким образом.

Я хочу загрузить скрипт либо раньше, либо асинхронно с загрузкой imate, есть ли способ отложить загрузку изображения data?

<div>
  <img src="data:image/png; base64, .........." alt="">
  <img src="data:image/png; base64, .........." alt="">
  <img src="data:image/png; base64, .........." alt="">
</div>
<script type="text/javascript" src="my-script.js"></script>

person steveyang    schedule 11.11.2011    source источник
comment
вы можете просто скрыть div или изображения, и как только скрипт загрузится, отобразить их или использовать видимость, чтобы сохранить макет нетронутым   -  person david    schedule 11.11.2011
comment
Изображение может быть скрыто, но оно все равно загружается, это не решает проблему задержки загрузки скриптов   -  person steveyang    schedule 11.11.2011


Ответы (1)


Этот ответ довольно прост. Если вы не хотите, чтобы изображения загружались синхронно с загрузкой страницы, не используйте встроенные URI данных изображения. Вы получаете поведение, для которого запрограммировали свою веб-страницу.

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

Или вы можете поместить все URI данных в большой массив строк на своей странице, а затем использовать javascript для создания объектов изображения из URI данных после того, как вы сделали свой другой javascript.

person jfriend00    schedule 11.11.2011
comment
Последнее - поместить URI даты в большой массив строк - может быть здесь обходным путем, хотя использование JS для переноса данных не является элегантным, и сайт, отключенный jS, вообще не получит изображение. - person steveyang; 13.11.2011
comment
Вы спросили, какие есть варианты, мы просто объясняем их вам. Вы сами выбираете вариант, наиболее подходящий для вашей ситуации. Использование миллиона URI данных не имеет для меня особого смысла. Веб-браузеры не были предназначены для решения этой проблемы. Они были разработаны для решения проблемы множества обычных URL-адресов изображений. - person jfriend00; 13.11.2011
comment
Конечно. Это некрасиво. С учетом того, что будет использоваться URI данных, идеального решения для асинхронной загрузки следующих скриптов не существует. Я прерву URI данных и рассмотрю другие решения, чтобы либо ускорить загрузку изображения, либо разрешить загрузку асинхронных скриптов. - person steveyang; 13.11.2011