Способ запретить загрузку и отображение изображений в мобильном браузере

StackOverflow https://stackoverflow.com/questions/177536

Вопрос

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

Дело в том, что я хотел бы немного настроить веб-сайт компании, чтобы сделать его более удобным для использования с мобильных устройств. Это игровая компания, на главной странице которой около 5 МБ изображений (и к ним нельзя прикоснуться). Они уже показывают смертельно медленный на моем DSL, и они могут быть убийцами для тех, кто платит за его GPRS за МБ;)

Код страницы не мой, и его тоже не нужно трогать (на самом деле, он должен быть написан с нуля, но сейчас я не в своем желании это сделать):)

Я думал о двух решениях:

1) Если бы был какой-то тег стиля (или, может быть, javascript? тот, который работал бы на мобильных браузерах, хотя бы), который не позволял бы браузеру загружать изображения и заставлял вместо этого отображать alt-параметр, я мог бы просто прикрепить это стиль, если я обнаружил, что пользовательский агент - это какая-то известная мобильная вещь. или 2) я мог бы немного настроить веб-сервер, чтобы проверить заголовок User-agent, и если клиент запрашивает изображение (.png, .gif и .jpg), отправьте 404 вместо этого. В этом есть и обратная сторона - я бы хотел, чтобы пользователь мог просматривать изображения, если он этого действительно хочет.

Кажется, первое решение будет лучшим - что вы, ребята, думаете? И есть ли способ сделать это с помощью javascript?

Я мог бы попытаться создать DOM документа, затем получить все элементы <img> и заменить их src каким-либо заполнителем, но это будет работать в большинстве мобильных браузеров (Opera Mini, я полагаю, Windows Mobile, базовый Symbian) браузер от Nokia)? И будет ли игра с документом DOM хорошим решением на мобильном устройстве (если честно, я не уверен насчет требований к памяти и процессору).

Это было полезно?

Решение

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

RewriteCond %{HTTP_USER_AGENT} (nokia¦symbian¦iphone¦blackberry) [NC] 
RewriteCond %{REQUEST_URI} !^/images/$
RewriteRule (.*) /blank.jpg [L]

Этот код перенаправляет все запросы, сделанные к файлам в папке изображений nokia, symbian, iphone и blackberry, в пустой файл изображения.

Другие советы

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

Некоторая часть сервера " ветвление " это, вероятно, путь. И не забудьте отключить фоновые изображения CSS, пока вы на нем.

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

Вы можете указать отдельную CSS для мобильных устройств:

<link rel="stylesheet" media="screen,projection,tv" href="main.css" type="text/css">
<link rel="stylesheet" media="handheld" href="smallscreen.css" type="text/css">

В этом CSS вы переопределяете отображение <img> и всех фоновых изображений.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top