Способ запретить загрузку и отображение изображений в мобильном браузере - PullRequest
0 голосов
/ 07 октября 2008

Существует ли простой способ запретить браузеру загружать и отображать изображения, лучше всего использовать какой-нибудь магический стиль тега или 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 хорошим решением на мобильном устройстве (если честно, я не уверен насчет требований к памяти и процессору).

Ответы [ 4 ]

4 голосов
/ 07 октября 2008

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

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

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

1 голос
/ 07 октября 2008

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

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

0 голосов
/ 23 июля 2009

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

0 голосов
/ 07 октября 2008

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

Вы можете указать отдельную 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> и всех фоновых изображений.

...