Comment détecter un visiteur sous NoteBook ?

  • Auteur de la discussion Auteur de la discussion cnhx
  • Date de début Date de début
Bonjour,

Existe t'il un moyen de détecter les utilisateurs de Notebook (EEPC, ....) afin de les rediriger sur une version adaptée du site ? (Rem : Je ne suis pas sur qu'il existe un USER_AGENT spécifique pour les Notebook :roll: )

Par exemple pour une utilisateur iPhone / iPod, j'utitilse le code de redirection PHP suivant :

Code:
if ( strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod') )  
{      
 header('Location: http://iphone.monsite.com);      
 exit();  
}
 
cnhx a dit:
Bonjour,
Existe t'il un moyen de détecter les utilisateurs de Notebook (EEPC, ....) afin de les rediriger sur une version adaptée du site ? (...)
Si le notebook est un PC standard (mêmes OS, mêmes navigateurs), la seule différence sera dans les dimensions de l'affichage. Avec un design fluide (flottant), pas besoin de version adaptée.
 
C'est là mon petit souci, j'ai fait un menu flottant sur la page météo de mon site (http://www.ville-arnieressuriton.com/meteo/prevision-meteo-departement ... -Eure.html) mais voilà sur un NoteBook l'écran étant plus petit, je ne vois pas l'intégralité du menu. Sick :|

Je voulais donc détecter afin que dans le cas d'une consultation via un NoteBook, je ne fais pas de menu flottant.

Mais comme tu l'indique le NoteBook est vu comme un PC standard ! donc je suis coincé :?
 
le seule moyen c'est un js qui va redirigé en fonction de la largeur de l'écran du client, ou bien aussi recharger la page avec une variable genre ?display=mini
mais bon y a plus que les eepc 701 pour afficher du 800 px de large, depuis c'est 1024 est là chez moi çà passe ...
 
le pb, ce n'est pas la largeur mais la hauteur de l'écran du client. Sur des 10 pouces mon menu est trop grand en hauteur :wink:
 
ah ok, sur 8,9 c'est aussi 600 ... Si tu étais joueur et vu que ton menu au final fait à peine plus de 400px de haut, tu modifie légèrement le script pour que le menu remonte tout en haut de la page lorsque le header n'est plus visible ;-)
 
Excellente idée ! que je vais creuser ....
Allez et j'en profite :roll: , tu n'aurais pas une petite idée de savoir comment déterminer quand le header n'est plus visible ?
 
julienr a dit:
ton script utilise un framework y a peut être une doc associée ...

je me répond apparement pas de doc, mais bon dans JSFX_Browser.js :

Code:
JSFX.Browser.getMinY		= function() {return(document.body.scrollTop);}

alors du coup :

Code:
if(this.baseY > 0)
		targetY = JSFX.Browser.getMinY() + this.baseY;
	else
		targetY = JSFX.Browser.getMaxY() + this.baseY;

à remplacer par :

Code:
if(this.baseY > 0)
{
		if( JSFX.Browser.getMinY() > this.baseY )
		{
				targetY = JSFX.Browser.getMinY();
		}
		else
		{
				targetY = JSFX.Browser.getMinY() + this.baseY;
		}
}
else
{
		targetY = JSFX.Browser.getMaxY() + this.baseY;
}
 
euh je vois pas la modif en ligne, es-tu sûr que cela fonctionne au moins, car je n'ai pas cherché à tester ce que j'ai écris non plus ... ?
 
La prochaine étape sera d'avoir cette page météo sur mobile (avec un nom de domaine .mobi par ex.) mais là c'est une autre affaire. Car vu la taille de l'écran , je pense qu'il va falloir revoir toute la mise en page !
 
Bjr, j'aurais de nouveau besoin de conseils

En effet si dans la page je mets :

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

Eh bien, cela ne scroll plus ! :x

J'ai beau chercher je ne vois pas le pourquoi ! :roll:
 
il faut utiliser documentElement en dtd strict

remplace ceci :

Code:
JSFX.Browser.getMinY      = function() {return(document.body.scrollTop);}

par

Code:
JSFX.Browser.getMinY      = function() {
if (document.documentElement && document.documentElement.scrollTop)
   return document.documentElement.scrollTop;
else if (document.body && document.body.scrollTop)
   return(document.body.scrollTop)
}

ensuite çà devrait rouler dans tous les cas.
 
Je pense que j'ai trouvé.
En effet en simplifiant de la manière suivante çà passe sous IE :
Code:
JSFX.Browser.getMinY      = function() {
if (document.documentElement && document.documentElement.scrollTop)
		return document.documentElement.scrollTop;
else return document.body.scrollTop;
}

Merci de ton aide :wink: (Reco)
 
Faut voir, je n'ai que IE 7.
Si une personne pouvait tester avec IE 6 cela serait super :D
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut