Domanda

Esiste un modo semplice per impedire al browser di scaricare e visualizzare immagini, la cosa migliore sarebbe tramite un tag in stile magico o javasctipe.

Il fatto è che mi piacerebbe modificare un po 'il sito Web dell'azienda per renderlo più utilizzabile tramite dispositivi mobili. La società è di gioco, ci sono 5 MB di immagini sulla sua pagina principale (e quelli non possono essere toccati). Mostrano mortalmente lenti sul mio dsl e possono essere assassini per qualcuno che sta pagando il suo GPRS per MB;)

Il codice della pagina non è mio e non dovrebbe essere toccato troppo (in effetti, dovrebbe essere scritto da zero, ma non è nel mio gesto farlo adesso) :)

Stavo pensando a due soluzioni:

1) Se ci fosse una sorta di tag di stile (o forse un javascript? quello che funzionerebbe su browser mobili) che impedirebbe al browser di scaricare immagini e forzerebbe a visualizzare il parametro alt invece che potrei semplicemente allegare questo stile se scoprissi che un user-agent è qualcosa di mobile noto. oppure 2) Potrei modificare un po 'il server web per controllare l'intestazione User-agent e se il client richiede un'immagine (.png, .gif e .jpg) invia invece 404. Questo ha un aspetto negativo: vorrei consentire all'utente di visualizzare le immagini se lo desidera.

Sembra che la prima soluzione sarebbe la migliore - cosa ne pensate voi ragazzi? E c'è un modo javascript per farlo?

Potrei provare a costruire il documento DOM, quindi ottenere tutti gli <img> elementi e sostituire i loro src con alcuni segnaposto, ma funzionerà sulla maggior parte dei browser mobili (suppongo Opera Mini, il dispositivo Windows Mobile, il Symbian di base browser da Nokia)? E giocare con il documento DOM sarebbe una buona soluzione su un dispositivo mobile (non sono sicuro dei requisiti di memoria e CPU per essere onesti).

È stato utile?

Soluzione

Puoi usare htaccess per reindirizzare le richieste di immagini fatte dagli utenti del browser mobile. Non l'ho provato ma dovrebbe funzionare:

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

Questo codice reindirizza tutte le richieste fatte ai file nella cartella di immagini da Nokia, Symbian, iPhone e Blackberry in un file di immagine vuoto.

Altri suggerimenti

Non farei affidamento su javascript o qualsiasi altro metodo lato client con browser mobili. La maggior parte dei browser per dispositivi mobili non supporta javascript abbastanza bene.

Alcuni server " branching " è probabilmente la strada da percorrere. E non dimenticare di disabilitare le immagini di sfondo CSS mentre ci sei.

Perché non usare fogli di stile alternativi ? Semplicemente non so quanto siano supportati dai browser mobili.

Puoi specificare un css separato per i dispositivi mobili:

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

In quel CSS sovrascrivi la visualizzazione di <img> e tutte le immagini di sfondo.

È come falsificare il tuo user agent. Se vogliono davvero la versione completa, daglielo. Forse aggiungi un suggerimento agli utenti di Blackberry per lamentarsi con il produttore della mancanza di tale opzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top