Как вы можете скрыть CSS от iPhone, но не от других браузеров? - PullRequest
3 голосов
/ 24 ноября 2010

Я знаю, как скрыть CSS от всех браузеров , за исключением iPhone: см. Как применить таблицу стилей только к iPhone (а не IE), без прослушивания браузера?

Но: как скрыть CSS от iPhone, но не от других браузеров?

Ответы [ 4 ]

2 голосов
/ 06 декабря 2010

Возможно, вы можете использовать @media queries:

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

, что автоматически исключит браузеры iPhone от загрузки этой конкретной таблицы стилей (ширина экрана iPhone составляет 480px);поэтому вставка любых стилей, которые вы хотите скрыть от iPhone, в эту таблицу стилей должна работать.Хотя, очевидно, он также заблокирует эту таблицу стилей от других устройств, которые поддерживают медиа-запросы и имеют ширину экрана ниже 490 пикселей.

1 голос
/ 25 ноября 2010

Вы все еще можете выполнить условную проверку, для iPhone добавьте iPhone CSS, иначе ваш обычный CSS.

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

if (isIPhone)
  document.createElement("style")... //iPhone CSS
else
  document.createElement("style")... //normal CSS
0 голосов
/ 06 декабря 2010

Я на самом деле выбрал немного другое и очень смешное решение, которое использует медиазапросы и getComputedStyle для перенаправления на мобильный сайт, если мы на iPhone-подобном устройстве.1004 * Я уверен, что у меня есть идея getComputedStyle о переполнении стека, но я не могу вспомнить, где.

0 голосов
/ 25 ноября 2010

Или просто перенаправить на страницу без CSS, или использовать PHP, чтобы обнаружить iPhone и доставить им страницу без стиля - что-то с потоком:

if iPhone {
    echo //page without CSS
else {
    echo //page with CSS
}
...