2

Так как изображения в 1 пиксель в основном используются в электронной почте, чтобы сообщить отправителю, что оно было получено, мне было интересно, есть ли способ заблокировать их (не то, что там есть что-то увидеть) через расширение в Chrome.

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

Chrome версия: 14.0.835.18 dev-m (я не думаю, что это действительно будет иметь значение, но это не повредит.

3 ответа3

8

Я не уверен, что это возможно. Во-первых, как вы можете проверить изображение размером всего 1 пиксель, если вы его еще не загрузили?

Одним из способов может быть сделать так, чтобы сервер проверил это за вас, и надеемся, что парень, пытающийся зайти в вас, проверяет только, с какого IP-адреса пришел запрос. Но, если изображение отправлено вам однозначно, он может проверить, было ли оно загружено вообще. Я не вижу способа обойти это. Вот почему все изображения по умолчанию заблокированы на большинстве почтовых клиентов.


ОБНОВЛЕНИЕ: Возможно, будет возможно отфильтровать некоторые 1px изображения, хотя. Вы можете посмотреть в атрибутах width и height всех тегов в документе и проверить, равны ли они 1. Это не гарантируется, поскольку эти атрибуты не нужны, но стоит попробовать, если вам действительно нужна функциональность.

Что-то вроде:

var images = document.getElementsByTagName('img');
for(var i = 0; i < images.length; i++) {
    if(images[i].height == 1 && images[i].width == 1)
        images[i].src='';
}

Вам, вероятно, придется немного отредактировать это. Я не проверял это.

1

Рассматривали ли вы чтение вашей электронной почты в текстовом режиме или отключение автоматической загрузки / отображения изображений в вашем почтовом клиенте? Даже Hotmail предлагает эту функцию, и это гораздо проще, чем пытаться заблокировать все изображения 1x1. На самом деле, порядочный клиент (включая Hotmail) делает это разумно. Таким образом, они позволяют вам выбрать отображение графики, включенной в электронное письмо, в виде вложений и блокировать только внешнюю графику, которую необходимо будет загрузить. Затем вы можете либо продолжить загрузку и отобразить их, либо пропустить и просто сохранить это сообщение в текстовом режиме.

Для записи, изображения размером 1x1 пикселя используются не только как веб-ошибки. Они также используются практически везде, где требуется сплошной блок цвета, потому что все, что вам нужно, это один пиксель, тогда вы просто растягиваете его до желаемых размеров. Это уменьшает размеры файлов и использование полосы пропускания.

1

Вы можете разработать расширение Chrome или даже скрипт GreaseMonkey, который обращается к DOM до того, как он будет написан, получает список всех изображений (или элементов) и удаляет изображения с высотой == 0 и шириной == 0.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .