Barre du mois

Démarré par Bob, Mardi 18 Décembre 2012 - 15:14

« précédent - suivant »

Bob

Le bug et corrigé. Le problème survenait lors du masquage d'un ou de plusieurs groupes  ;)

Geoffroy

Geoffroy

lionhell

#17
J'ai testé sur iPhone, 3 remarques:


  • Avec Safari pas de problème.
  • La barre des dates toujours visible super ... mais serait-ce (oui !) possible avec la colonne des noms ? Quand on glisse à gauche les noms disparaissent.
  • Avec un autre navigateur iPhone nommé "Mercury" la barre des dates reste complètement fixe et ne se déplace pas avec la grille de gauche à droite ! Donc les évènements ne correspondent pas du tout aux dates  ???

Mais enfin ... c'est un détail, ça fonctionne bien avec Safari sur iPhone ... mais je reviens sur la taille des cellules ... même sur smartphone ça reste trop petit à lire !
signé: LionHell

lionhell

J'ai rayé la mention concernant Safari dans le précédent post car en fait la barre des dates se déplace entièrement avec la grille, comme si rien n'était fait.

Donc avec Safari ça ne marche pas, aucun blocage de la barre et avec Mercury blocage sur 2 axes alors que seul le vertical devrait l'être ...
signé: LionHell

Bob

En fait, la plupart des navigateurs sous smartphone ne gèrent pas ou mal la propriété CSS position:fixed, permettant de fixer un élément, entre autre l'entête du planning. Pour contourner le problème, la solution la plus simple a été de détecter le type de terminal (via le User Agent) et de désactiver cette propriété CSS.
Un autre problème vient du User Agent, ne permettant pas de détecter finement le type de mobile.

Cette barre fixe, qui à priori paraît simple, a demandé une 20aine d'heures de travail, avec des résultats incertains sur quelques navigateurs, la colonne des ressources restera donc en l'état  ;)

lionhell

Avec Safari donc la barre n'est pas fixe.
Quel user agent serait fonctionnel ? Car avec Mercury on peut définir le user agent  ;)
signé: LionHell

Bob

En fait je me base sur le User Agent pour désactiver la barre fixe, si vous le modifiez il y a des chances que la barre soit fixe mais avec un alignement incertain avec le corps du tableau.

function mobile ()
{
if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE']))
return true;
if (isset ($_SERVER['HTTP_ACCEPT']))
{
$accept = strtolower($_SERVER['HTTP_ACCEPT']);
if (strpos($accept, 'wap') !== false)
return true;
}

if (isset ($_SERVER['HTTP_USER_AGENT']))
{
if (strpos ($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false)
return true;

if (strpos ($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false)
return true;

if (strpos ($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0') !== false)
return true;
}

return false;
}


Opera sous Iphone doit certainement initialiser cette variable : $_SERVER['HTTP_X_WAP_PROFILE'].
Pouvez-vous me transmettre votre User Agent, je modifierai la fonction en conséquence, nous pourrons ainsi valider (ou non) cette barre fixe sur Iphone, d'avance merci.

lionhell

Voici le User Agent de mon iPhone 4S sous IOS 6.0.1 et Safari :

Mozilla/5.0 (iPhone; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25
signé: LionHell

lionhell

#23
Et voici celui de Mercury toujours avec mon iPhone 4S IOS 6.0.1 :

Mozilla/5.0 (iPhone; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mercury/7.2 Mobile/10A523 Safari/8536.25
signé: LionHell

lionhell

Avec Safari et Mercury (réglé sur son propre UA) : La barre est liée à la grille et se déplace avec.

Avec Mercury avec UA défini comme IE8 ou Opéra ou Chrome : La barre est fixe et toujours visible et la grille se déplace indépendamment sur les 2 axes.

Donc problème, il faudrait que l'axe horizontal soit lié à la grille afin que la barre des dates se déplace de gauche à droite avec la grille pour ne pas décaler les dates !
signé: LionHell

Bob

Bonjour,

Merci pour les infos, je me renseigne concernant cette variable $_SERVER['HTTP_X_WAP_PROFILE'] et modifierai la fonction en conséquence.

lionhell

Les UA communiqués l'ont été en utilisant $_SERVER['HTTP_USER_AGENT']

En utilisant $_SERVER['HTTP_X_WAP_PROFILE'] j'obtiens une chaine vide (ou même non définie (pas testé).

Apparemment WAP profil est un lien qui dirige vers un fichier xml décrivant le mobile. WAP profil nécessite JQuery mobile.
signé: LionHell