2008-10-07 3 views
0

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

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

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

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

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

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

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

+0

На какой платформе вы пользуетесь? Если у ASP.NET есть доступ к папке App_Browsers? – 2009-01-23 22:24:35

ответ

4

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

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

Этот код перенаправляет все запросы, сделанные файлы в папку с помощью Nokia, Symbian, Iphone и ежевики в пустой файл изображения.

1

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

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

0

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

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

+0

Да, вопрос остается о том, как мобильные браузеры обрабатывают его, я проверю. Будет ли отображаться параметр: ни один не позволяет браузеру загружать изображение? Или он будет загружен, просто не отображается? – kender 2008-10-07 11:31:41

0

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