«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Советы и методы нажатия для отображения изображений

Советы и методы нажатия для отображения изображений

Опубликовано в 2025-04-16
Просматривать:554

Большинство изображений в Интернете излишны. Если бы я мог немного придумать, 99% из них вовсе не так полезны (хотя есть редкие исключения). Это потому, что изображения не часто дополняют текст, который он должен поддерживать, и вместо этого повреждены пользователей, требуя навсегда загружать и взорвать ограничения данных, как какой -то налог на производительность.

]

, к счастью, это в основном проблема дизайна сегодня, потому что создание изображений исполняемыми и более удобными для пользователя намного проще, чем когда-то. У нас есть лучшие форматы изображений, такие как Whebp (и вскоре, возможно, JPEG XL). У нас есть магия, отвечающие на образы, курс. И есть множество отличных инструментов, таких как ImageOptim, а также такие ресурсы, как новая книга Адди Османи.

]

, хотя, возможно, мой любимый способ улучшить производительность изображения - это загрузка:

]
Image description
]

это изображение будет загружаться только тогда, когда пользователь прокручивает страницу, поэтому оно видно для пользователя - который удаляет его с начальной загрузки страницы, и это просто здорово! Создание этой начальной нагрузки на веб -страницу Lightsast - это большое дело.

]

, но, может быть, есть изображения, которые должны никогда не загружать вообще. Возможно, есть ситуации, когда было бы лучше, если бы человек мог бы увидеть это. Вот один из примеров: возьмите только текстовую версию, чтобы немного нажать. Разве это не ... просто так здорово?! Это читаемо! Повсюду нет мусора, он уважает меня как пользователя и - сладкие небеса - это быстро . ]

Так! Что, если бы мы могли показать изображения на веб -сайте, но только после того, как их нажимают или нажаты? Разве не было бы аккуратно, если бы мы могли показать заполнителя и поменять его на реальное изображение на щелчке? Что -то вроде этого:

]

, ну, у меня было две мысли о том, как построить этот парень (Золотое правило заключается в том, что никогда не бывает ни одного способа построить что -либо в Интернете).

]

Метод #1: Использование Советы и методы нажатия для отображения изображений без атрибута SRC

]

мы можем удалить атрибут SRC тега Советы и методы нажатия для отображения изображений, чтобы скрыть изображение. Затем мы могли бы поместить файл изображения в атрибут, например, Data-SRC или что-то в этом роде, так же, как это:

Фотография воздушных шаров Musab Al Rawahi. 144KB
Photograph of hot air balloons by Musab Al Rawahi. 144kb
По умолчанию большинство браузеров покажет значок сломанного изображения, с которым вы, вероятно, знакомы:

хорошо, так что это как бы доступно. Наверное? Вы можете увидеть Alt Tag, отображаемый на экране автоматически, но с легкой чертой JavaScript мы можем затем заменить SRC с этим атрибутом:

]

document.queriselectorall ("img"). Foreach ((item) => { item.addeventlistener ("click", (event) => { const image = event.target.getattribute ("Data-Src"); event.target.setattribute ("src", image); }); });
document.querySelectorAll("img").forEach((item) => {
  item.addEventListener("click", (event) => {
    const image = event.target.getAttribute("data-src");
    event.target.setAttribute("src", image);
  });
});
теперь мы можем добавить несколько стилей и тьфу, о, нет:

]

Фу. В некоторых браузерах в нижней части будет крошечный значок изображения, когда изображение не загружено. Проблема здесь заключается в том, что браузеры не дают вам способа удалить сломанный значок изображения с помощью CSS (и нам, вероятно, нельзя допустить, чтобы все равно было разрешено). Это тоже немного раздражает, чтобы стилизовать текст альт. Но если мы полностью удалим атрибут ALT, то разбитый значок изображения исчез, хотя это делает Советы и методы нажатия для отображения изображений непригодным для JavaScript. Итак, удаление этого альт-текста-это не ходу. ]

, как я сказал:

ugh . Я не думаю, что есть способ заставить этот метод работать (хотя, пожалуйста, докажите, что я не так!). ]

Метод #2: Использование ссылок для создания изображения

]

другой вариант, который у нас есть, - это начать с скромной гиперссылки, как это:

Фотография воздушных шаров Musab Al Rawahi. 144KB
Photograph of hot air balloons by Musab Al Rawahi. 144kb
, что, да, пока ничего умного не происходит - это просто будет отображать ссылку на изображение:

это работает с точки зрения доступности, верно? Если у нас нет JavaScript, то все, что у нас есть, это просто ссылка, которую люди могут при желании нажать. С точки зрения производительности, он не может стать намного быстрее, чем простой текст!

Но отсюда мы можем дотянуться до JavaScript, чтобы остановить ссылку на загрузку на щелчок, захватить атрибут href в этой ссылке, создать элемент изображения и, наконец, добавить это изображение на страницу и удалить старую ссылку, как только мы закончим:

]

document.queryselectorall (". item.addeventlistener ("click", (event) => { const href = event.target.getattribute ("href"); const newimage = document.createElement ("img"); Event.preventDefault (); newimage.setattribute ("src", href); document.body.insertbefore (newimage, event.target); event.target.remove (); }); });
document.querySelectorAll("img").forEach((item) => {
  item.addEventListener("click", (event) => {
    const image = event.target.getAttribute("data-src");
    event.target.setAttribute("src", image);
  });
});
мы могли бы, вероятно, придумать эту ссылку заполнителя, чтобы она выглядела немного приятнее, чем то, что у меня есть ниже. Но это всего лишь пример. Идите вперед и нажмите на ссылку, чтобы снова загрузить изображение:

]

и там у вас есть! Это не новаторский или что -то в этом роде, и я уверен, что кто -то сделал это раньше в тот или иной момент. Но если мы хотим быть чрезвычайно радикальными в отношении производительности за пределами первой краски и начальной нагрузки, то я думаю, что это нормальное решение. Если мы делаем веб-сайт только для текста, то я думаю, что это определенно путь.

]

Возможно, мы также могли бы изготовить веб-компонент из этого или даже обнаружить, если кто-то издает DEMANDED-DATAAND, то загрузите изображения только в том случае, если у кого-то есть достаточно данных или что-то в этом роде. Что вы думаете?

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3