8
votes

Version PHP des requêtes médiatiques CSS

Vous ne trouvez rien sur le Web pour cela, je voulais jeter la question là-bas.

est la version PHP des requêtes médiatiques CSS?


3 commentaires

Je suis cependant curieux, qu'essayez-vous d'atteindre?


Utilisation de Mobileesp et souhaitait cibler des résolutions spécifiques non seulement l'appareil lui-même avec PHP


Je pense que vous devrez revenir à JavaScript à ce stade. Remettez une requête asynchrone sur le serveur avec des spécificités et vous pouvez ensuite charger théoriquement dans une feuille de style neuve / mise à jour / environnementale basée sur ces données. Mais vous devrez toujours récupérer les paramètres que vous voulez vous-même, les envoyer au serveur et décider de quoi échanger de la suite. Alors nulle part aussi propre que css avec des requêtes de média. Mais beaucoup plus flexible et personnalisable, je suppose.


5 Réponses :


1
votes

Vous pouvez être capable de vérifier $ _ serveur ['http_user_agent'] et prendre une décision en fonction de ce que vous trouvez là-bas. Il y a peut-être une bibliothèque quelque part qui a déjà pris soin de cela, mais je ne suis pas au courant d'un de la tête.


0 commentaires

2
votes

Non, il n'y a pas.

Le navigateur n'envoie aucune information sur son Fonctions de support Pour le serveur, PHP n'a donc pas les informations nécessaires à la mise en œuvre.


0 commentaires

2
votes

Je suis sous l'hypothèse que vous voudriez faire cela dans le but de détecter des navigateurs mobiles - sinon, cette réponse est légèrement non pertinente.

Vous pouvez consulter mobile ESP pour une bibliothèque de détection d'agent utilisateur mobile. C'est très simple à utiliser et fonctionne bien dans mes expériences.


2 commentaires

Oui, j'ai regardé cela et je l'aime, mais cela n'offre pas une détection de périphérique spécifique. Je voulais combiner cela avec les requêtes de média CSS pour offrir une fonctionnalité spécifique sur le périphérique mobile tel que l'affichage de la rétine iPhone 4. Je sais que je peux le faire avec CSS mais je voulais le charger de manière dynamique pour réduire la taille du fichier


Juste au cas où quelqu'un d'autre veut aller à cet itinéraire, consultez Github.com/serbanghita/mobile-Detect



1
votes

Il y a le Get_Browser Fonction PHP Vous pouvez utiliser pour déterminer certaines fonctionnalités du navigateur. Mais ce n'est pas la même chose que les requêtes des médias. Les requêtes du support CSS sont conditionnelles aux mesures d'affichage des périphériques. La fonction PHP ne renvoie pas de telles informations.


0 commentaires

2
votes

J'ai utilisé une méthode (trouvée sur http://php.net/manual /en/faq.html.php Exemple # 4) qui combine JavaScript et PHP pour obtenir une alternative aux requêtes de média. J'accueillis en utilisant JavaScript intégré à l'intérieur de mon PHP pour publier une variable (écran.Width) qui est ensuite utilisée par PHP pour déterminer les points d'arrêt pour charger des feuilles de style. Inclure l'extrait de suivi dans votre tache de tête:

<?php
  if (isset($_GET['width'])) {
    $width = $_GET['width'];
    if ($width <= 480) { //mobile devices
      $style = '<link rel="stylesheet" href="mobile.css" type="text/css">';
    } elseif ($width <= 720){ //tablets
      $style = '<link rel="stylesheet" href="tablet.css" type="text/css">';
    } else { //desktops
      $style = '<link rel="stylesheet" href="desktop.css" type="text/css">';
    }
    echo $style;
  } else {
      echo "<script language='javascript'>\n";
      echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "&width=\" + screen.width; \n";
      echo "</script>\n";
      exit();
  }
?>


1 commentaires

Suvi Vignarahah Merci d'avoir partagé cela. Je cherchais un moyen de détecter la requête de média en utilisant php. Impressionnant!!!