Html img scr: Атрибут src | htmlbook.ru

html. Как правильно включить изображение без src?

спросил

Изменено 3 месяца назад

Просмотрено 211 тысяч раз

У меня есть изображение, которое я буду динамически заполнять с помощью src позже с помощью javascript, но для простоты я хочу, чтобы тег изображения существовал при загрузке страницы, но просто ничего не отображал. я знаю недействителен, как лучше всего это сделать?

  • HTML
  • проверка

3

Другой вариант — вставить пустое изображение. Подойдет любое изображение, подходящее для вашей цели, но в следующем примере кодируется GIF размером всего 26 байт — с http://probablyprogramming. com/2009/03/15/the-tiniest-gif-ever

 
 

Изменить на основе комментариев ниже:

Конечно, вы должны учитывать требования поддержки вашего браузера. Не примечательна поддержка IE7 или меньше. http://caniuse.com/datauri

12

Хотя не существует допустимого способа пропустить источник изображения, существует источников, которые не вызовут обращений к серверу. Недавно у меня была похожая проблема с iframe s, и я решил, что //:0 будет лучшим вариантом. Нет, правда!

Начиная с // (пропуская протокол) приводит к использованию протокола текущей страницы, предотвращая появление предупреждений о «небезопасном содержимом» на страницах HTTPS. Пропускать имя хоста не обязательно, но оно становится короче. Наконец, порт :0 гарантирует, что запрос к серверу не может быть выполнен (согласно спецификации, это недействительный порт).

Это единственный URL-адрес, который, как я обнаружил, не вызывал обращений к серверу или сообщений об ошибках в любом браузере. Обычный выбор — javascript:void(0) — вызовет предупреждение «небезопасный контент» в IE7, если используется на странице, обслуживаемой через HTTPS. Любой другой порт вызывал попытку подключения к серверу, даже для недопустимых адресов. (Некоторые браузеры просто делают неверный запрос и ждут, пока истечет время ожидания.)

Это было протестировано в Chrome, Safari 5, FF 3.6 и IE 6/7/8, но я ожидаю, что это будет работать в любом браузере. , так как это должен быть сетевой уровень, который убивает любые попытки запроса.

7

В наши дни ИМХО лучший короткий, разумный и правильный способ для пустого img src выглядит так:

 
или же
Альтернативный текст
 

Во втором примере отображается «Альтернативный текст» (плюс значок сломанного изображения в Chrome и IE).

"данные:", является допустимым URI. Пустой медиа-тип по умолчанию имеет значение text/plain . Таким образом, он представляет собой пустой текстовый файл и эквивалентен "data:text/plain",

9.0070

OT: Все браузеры понимают просто alt . Вы можете опустить ="" , это неявно для спецификации HTML.

5

Я рекомендую динамически добавлять элементы, и если вы используете jQuery или другую библиотеку JavaScript, это довольно просто:

  • http://api.jquery.com/appendTo/
  • http://api.jquery.com/prependTo/
  • http://api.jquery.com/html/

также смотрите добавляется к , а добавляется к . В противном случае, если у вас есть такой тег изображения, и вы хотите, чтобы он проверялся, вы можете рассмотреть возможность использования фиктивного изображения, такого как прозрачный gif или png размером 1 пиксель.

3

Используйте действительно пустой, действительный и хорошо совместимый SVG на основе этой статьи:

src="data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3. org/2000/svg'%3E%3C/svg%3E"

Размер по умолчанию будет 300x150px, как и любой SVG, но вы можете работать с ним в своем img стили элементов по умолчанию, которые вам, возможно, понадобятся в любом случае в практической реализации.

4

Давненько я этого не делал, но однажды мне пришлось пройти через то же самое.

 
 

Мой любимый — //:0 подразумевает, что вы попытаетесь установить соединение HTTP/HTTPS с исходным сервером через нулевой порт (порт tcpmux?) — что, вероятно, безвредно, но я бы скорее не делать в любом случае. Черт возьми, браузер может увидеть нулевой порт и даже не отправить запрос. Но я бы все же предпочел не указывать это таким образом, когда это, вероятно, не то, что вы имеете в виду.

В любом случае, рендеринг about:blank на самом деле очень быстрый во всех браузерах, которые я тестировал. Я просто бросил его в валидатор W3C, и он не жаловался, так что он может быть даже действительным.

Редактировать : Не делай этого; он не работает во всех браузерах (будет отображаться значок «сломанное изображение», как указано в комментариях к этому ответу). Используйте решение ниже. Или, если вы не заботитесь о валидности, но все же хотите избежать лишних запросов к вашему серверу, вы можете сделать без атрибута src. Но это INVALID HTML, так что выбирайте внимательно.

Тестовая страница, показывающая целую кучу различных методов: http://desk.nu/blank_image.php — обслуживается всеми видами различных типов документов и типов контента. - как указано в комментариях ниже, используйте новую тестовую страницу Марка Ормстона по адресу: http://memso. com/Test/BlankImage.html

. 7

Как писали в комментариях, этот способ неверный.

Я не находил этот ответ раньше, но согласно спецификациям W3 действительный пустой тег src будет якорной ссылкой # .

Пример: src="#" , src="#empty"

Страница успешно прошла проверку и никаких дополнительных запросов не делается.

7

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

 [источник=''] {
    видимость: скрытая;
}
 

3

, если вы оставите атрибут src пустым, браузер отправит запрос на URL-адрес текущей страницы всегда добавляйте 1 * 1 прозрачный img в атрибут src, если не хотите какой-либо URL-адрес

 src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="
 

3

Я нашел это, используя:

 
 

не делает запрос и правильно проверяет.

Браузеры просто заблокируют доступ к локальной файловой системе.

Но в журнале консоли в Chrome может отображаться ошибка, например:

 Не разрешено загружать локальный ресурс: file://null/
 

1

Основываясь на ответе Бена Бланка, единственный способ проверить это в валидаторе w3 был таким:

 `
 

1

Я лично использую about:blank src и работаю со значком сломанного изображения, устанавливая непрозрачность элемента

img на 0 .

4

 
 

Где invis.gif — однопиксельный прозрачный gif. Это не сломается в будущих версиях браузера и работает в устаревших браузерах с 9-го года.0 с.

PNG тоже должен работать, но в моих тестах размер gif составлял 43 байта, а размер png — 167 байт, поэтому GIF выиграл.

шт. не забудьте тег alt, они тоже нравятся валидаторам.

Я знаю, что это, возможно, не то решение, которое вы ищете, но может помочь заранее показать пользователю размер изображения. Опять же, я не совсем понимаю конечную цель, но этот сайт может помочь: https://via.placeholder.com

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

 
 

1

Просто, вот так:

 
 

2

Изображения | HTML Dog

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

Тег img используется для размещения изображения в документе HTML и выглядит следующим образом:

HTML Dog
 

Атрибут src сообщает браузеру, где найти изображение. Подобно тегу и , он может быть абсолютным, как показано в приведенном выше примере, но обычно относительным. Например, если вы создадите собственное изображение и сохраните его как «alienpie.jpg» в каталоге «images», тогда код будет 9.0011

Новый раздел примеров! Посмотрите весь этот код в действии и поэкспериментируйте с ним.

Атрибуты ширина и высота необходимы, потому что, если они исключены, браузер будет склонен вычислять размер при загрузке изображения, а не при загрузке страницы, что означает, что макет документа может прыгать во время загрузки. страница загружается.

Вариант 9Атрибут 0012 является альтернативным описанием . Это соображение доступности, предоставляющее значимую информацию для пользователей, которые не могут видеть изображение (например, если они слабовидящие).

Обратите внимание, что, как и в случае с тегом br , поскольку элемент img не содержит никакого содержимого, закрывающий тег не требуется.

Создание изображений для Интернета немного выходит за рамки компетенции этого веб-сайта, но стоит отметить несколько вещей…

Наиболее часто используемые форматы файлов для изображений: JPEG , GIF и PNG . Это сжатые форматы, и они используются по-разному.

Формат JPEG (произносится как «jay-peg») использует математический алгоритм для сжатия изображения и слегка искажает оригинал. Чем ниже сжатие, тем больше размер файла, но тем четче изображение.

Файлы JPEG обычно используются для изображений, таких как фотографии.

GIF (произносится как «джиф») может содержать не более 256 цветов, но они сохраняют цвета исходного изображения. Чем меньше цветов в изображении, тем меньше будет размер файла. GIF также позволяют сделать прозрачным любой пиксель изображения.

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

PNG (произносится как «пинг») воспроизводит цвета так же, как GIF, но допускает 16 миллионов цветов, а также альфа-прозрачность (то есть область может быть прозрачной на 50%).

PNG обычно используются для универсальных изображений в более сложных проектах, НО они не полностью поддерживаются некоторыми старыми браузерами.

Сеть становится все быстрее и быстрее, но вы, очевидно, хотите, чтобы ваши веб-страницы загружались как можно быстрее. Использование изображений сверхвысокого разрешения не приносит никакой пользы пропускной способности (или терпению) ни вам, ни вашему пользователю. Сжатие изображений — отличный инструмент, и вам необходимо найти баланс между качеством изображения и его размером.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *