Подтвердить что ты не робот

Тег <img> vs <image> в HTML

Я пишу вводный курс HTML. Я помню, как 9 лет назад я изучал HTML, когда оба <img> и <image> работали как тег для отображения изображений, по крайней мере, в IE. Действительно, <image> по-прежнему работает в последних версиях 5 лучших браузеров.

Я понимаю, что <image> неверен и не будет проверяться с помощью http://validator.w3.org. Однако кто-нибудь знает о браузере, который не отображает изображение, если вместо <img> используется <image>?

Кроме того, я предполагаю, что современные браузеры отображают изображения, созданные с тегом <image>, просто потому, что это распространенная ошибка, которую делают новички. Правильно ли это предположение?

4b9b3361

Ответ 1

Да и нет. Как вы указываете, <image> долгое время был синонимом <img>. Я считаю, что это был ранний браузер Netscape, который в первый раз сделал это, возможно, чтобы компенсировать ошибку пользователя или, возможно, потому, что в то время существовал спор, действительно ли элемент должен называться <image> или <img>.

В любом случае, как указывает pst, как только он был реализован в браузере, доминирующем на рынке того времени, веб-страницы пришли к нему с уверенностью. Его упорство тогда сводится к коммерческому давлению на производителей браузеров. Если все основные браузеры поддерживают его, то браузер A решает, что, хотя он поддерживает его в версии V, он не будет поддерживать его в версии V + 1, как только будет выпущена версия V + 1, они получат много сообщений, говорящих "Сайт S взломан в вашем последнем браузере. Браузер - это мусор. Я перейду в браузер B".

Спецификация разбора HTML5 требует, чтобы тег <image> отображался на элемент img на этапе построения дерева, поэтому никогда не может быть никаких оправданий для его использования.

Я был бы менее озабочен браузерами, чем другие потребители HTML, например, менее известные поисковые системы. Я полагаю, что синоним image для img не получил широкого распространения, поэтому многие из таких инструментов не смогут подобрать <image> как ссылку на ресурс изображения.

Ответ 2

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

В то время как не полномасштабные браузеры, почтовый клиент часто используется, как если бы он был браузером.

Я обнаружил, что, несмотря на то, что клиент Android Gmail, использующий голый HTML (со стандартной версией DTD по умолчанию), демонстрирует эту проблему. Он реагирует только на <img /> [т.е. Не <image />]. gmail.com в порядке с <image />, но не клиентом gmail для Android.

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

Ответ 3

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

Например, забыв закрыть <tr>, прежде чем открывать новый, все современные браузеры просто предполагают, что вы его закрыли.

Я не знаю хорошо используемого, современного браузера, который не сможет отобразить тег <image>, но будет показывать тег <img>.

Ответ 4

Они имеют разные применения в SVG. Тег image создает специфический element в SVG и не может быть заменен тегом img.

Пример скрипта