Question

Je sais comment cacher CSS de tous les navigateurs sauf l'iPhone: voir Comment puis-je appliquer une feuille de style juste pour l'iPhone (et non IE), sans navigateur renifler?

Mais: comment puis-je cacher CSS de l'iPhone, mais pas les autres navigateurs

Était-ce utile?

La solution 4

En fait, je fini par aller avec un peu différent, et très ridicule, solution qui utilise des requêtes des médias et getComputedStyle rediriger vers un site mobile si nous sommes sur un appareil comme l'iPhone.

<style media="only screen and (max-device-width: 480px)">html{border-top-style:dashed;}</style>

<script>
if(window.location.search.indexOf("?m=t")==-1 && window.getComputedStyle) {
    var mobile = false;

    if(window.getComputedStyle(document.getElementsByTagName("html")[0],null).getPropertyValue("border-top-style")=="dashed") {
        var mobile = true;
    }

    if(mobile) {
        window.location.replace(window.location+"?m=t");
    }
}
</script>

Je suis sûr que j'ai eu l'idée de getComputedStyle sur débordement de la pile, mais je ne me souviens pas où.

Autres conseils

Vous pourriez éventuellement utiliser @media queries :

<link rel="stylesheet" href="noniPhoneStylesheet1.css" media="only screen and (min-device-width:490px)" />

Ce qui exclurait automatiquement les navigateurs iPhone de télécharger cette feuille de style particulier (l'écran de l'iPhone largeur étant 480px); afin de mettre tous les styles que vous voulez cacher de l'iPhone dans cette feuille de style devrait fonctionner. Bien que, de toute évidence, il va bloquer aussi que stylesheet d'autres appareils qui respectent les requêtes média et ont une largeur d'écran ci-dessous 490px.

Vous pouvez toujours faire le chèque conditionnel, pour les iPhones append l'iPhone CSS sinon votre CSS normal.

var agent=navigator.userAgent.toLowerCase();
var isIPhone = ((agent.indexOf('iphone')!=-1);

if (isIPhone)
  document.createElement("style")... //iPhone CSS
else
  document.createElement("style")... //normal CSS

Ou simple redirection vers une page sans CSS ou utiliser PHP pour détecter les iPhones et les livrer une page sans style - quelque chose avec un flux de:

if iPhone {
    echo //page without CSS
else {
    echo //page with CSS
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top