Альтернативные таблицы стилей не работают iOS5 - PullRequest
2 голосов
/ 08 ноября 2011

У меня есть веб-сайт, который использует альтернативные таблицы стилей и работал с iPad на iOS4.Однако это не вызвано iPad под управлением iOS5.Я также обнаружил, что сайт http://css -tricks.com / examples / AlternateStyleSheets / отлично работает на моем iPad под управлением iOS4, но не на моем iPad под управлением iOS5, указывая, что это, возможно, проблема с браузером?

У моего сайта есть следующие фрагменты

<link rel="alternate stylesheet" id="smallScr" title="smallScr" type="text/css" href="/style/smallscreen.style.css" />
<link rel="alternate stylesheet" id="microScr" title="microScr" type="text/css" href="/style/microscreen.style.css" />
.
.
var varDevice = 'iPad';
alert('detected small (ipad) screen device = ' + screen.width + ' x ' + screen.height);
setActiveStyleSheet('smallScr');

В обоих случаях выдается предупреждение, но мой альтернативный лист не применяется на iPad под управлением iOS5.

Кто-нибудь сталкивался с этой проблемойи есть решение

Спасибо

Роб

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

У меня была такая же проблема.ios4 или любой другой браузер, нет проблем с обменом таблицами стилей, но ios5 не будет работать вообще.Он будет загружать таблицу стилей по умолчанию, затем, когда он перейдет к замене, никакие таблицы стилей не будут активны.С некоторой пробой и ошибкой я получил следующее, чтобы работать для меня.Не совсем эффективно, но, похоже, работает.

Изменение $('link[rel*=stylesheet]').each на $('link').each и this.disabled = false на $(this).attr( 'disabled', false );, казалось, имело значение.

0 голосов
/ 08 ноября 2011

Имел ту же проблему, посмотрел спецификации и нашел решение, которое, кажется, работает в большинстве браузеров.

В вашу html-голову включите следующее:

<meta http-equiv="Default-Style" content="">

Затемпереключитесь на один из ваших альтернатив от Javascript, который вы можете использовать в каждом примере:

document.querySelectorAll('meta[http-equiv=Default-Style]')[0].content = 'smallScr';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...