HTML : insérer une image différente selon le support [Résolu]

Signaler
Messages postés
225
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
12 novembre 2020
-
Messages postés
225
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
12 novembre 2020
-
Bonjour à toutes et à tous,
Je débute en codage

Pour les besoins d'un site internet j'aimerais insérer une image dans une page,
Je connais le tag <img> cependant j'aimerais que l'image diffère (2 images différentes) selon la version du site consultée (desktop ou mobile)

Est-ce possible ? Savez-vous comment faire ?

2 réponses

Messages postés
30135
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2020
2 965
Bonjour,

Soit en utilisant du PHP... soit en utilisant du JAVASCRIPT

Dans les deux cas, un simple IF/ELSE en fonction du site consulté te permettra de faire ce que tu veux.

Mais sans savoir comment tu as géré tes "deux" versions de site... nous ne pourrons pas t'en dire plus
Messages postés
225
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
12 novembre 2020
25
Ok, je m'y penche, merci pour la direction indiquée,
J'utilise spacequare mais la plateforme ne me permet de faire ce que je voudrais, alors j'utilise l'option qui m'est laissée, c'est-à-dire, injecter mon propre code
Messages postés
225
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
12 novembre 2020
25
Comment je peux savoir comment squarespace gère les 2 versions du site ?

J'ai essayé ce code ci avec IF/ELSE :

<img if(navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/iPad/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)
)
{
src="image mobile"
}
else {
src="Image desktop"
}
>


Mais sans succès, , c'est peut-être trop simpliste ?
Je ne sais pas comment déterminer la condition initiale,
Dans l'idéal j'aimerais que la page détermine si l'utilisateur/trice utilise un mobile,
Si oui : image mobile
Si non : image desktop
Messages postés
30135
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2020
2 965
Alors..... le Javascript.. ça ne se place pas comme ça n'importe comment dans une page....

Il faut les mettre dans des balises <script>

Dans ton cas ça ressemblerait d'avantage à
<img id="toto" src="Image desktop"/>
<script type="text/javascript">
var monimage = document.getElementById('toto');
if( navigator.userAgent.match(/iPhone/i)
   || navigator.userAgent.match(/webOS/i)
   || navigator.userAgent.match(/Android/i)
   || navigator.userAgent.match(/iPad/i)
   || navigator.userAgent.match(/iPod/i)
   || navigator.userAgent.match(/BlackBerry/i)
   || navigator.userAgent.match(/Windows Phone/i)
 ){ 
  monimage.src="image mobile";
} else {
  monimage.src="Image desktop";
}
</script>
Messages postés
225
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
12 novembre 2020
25 >
Messages postés
30135
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2020

Merci beaucoup pour ces précisions, je ne connaissais pas cet élément <script>
Tout fonctionne, c'est super
Encore une question, que signifie le /i après l'indication du navigateur dans le userAgent ? J'ai trouvé ce code comme ça ailleurs sans comprendre pourquoi
Messages postés
30135
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2020
2 965 >
Messages postés
225
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
12 novembre 2020

Messages postés
225
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
12 novembre 2020
25 >
Messages postés
30135
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2020

Très bien, merci