Pergunta

Eu sei como esconder CSS de todos os navegadores exceto O iPhone: veja Como aplico uma folha de estilo apenas no iPhone (e não no IE), sem cheirar o navegador?

Mas: como faço para esconder o CSS do iPhone, mas não outros navegadores?

Foi útil?

Solução 4

Na verdade, acabei indo com uma solução um pouco diferente e muito ridícula que usa consultas de mídia e getComputedStyle Para redirecionar para um site móvel, se estivermos em um dispositivo semelhante ao 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>

Tenho certeza que tenho o getComputedStyle Ideia no transbordamento da pilha, mas não me lembro onde.

Outras dicas

Você poderia usar @media queries:

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

Que excluiria automaticamente os navegadores do iPhone do download dessa folha de estilo específica (a largura da tela do iPhone é 480px); Portanto, colocar os estilos que você deseja se esconder do iPhone nessa folha de estilo deve funcionar. Embora, obviamente, também bloqueie essa folha de estilo de outros dispositivos que respeitem as questões de mídia e terão uma largura de tela abaixo de 490px.

Você ainda pode fazer a verificação condicional, para os iPhones anexar o iPhone CSS, caso contrário, o seu 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 um simples redirecionamento para uma página sem o CSS, ou use PHP para detectar iPhones e entregar uma página sem o estilo - algo com um fluxo de:

if iPhone {
    echo //page without CSS
else {
    echo //page with CSS
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top