Переключатель таблиц стилей в Safari 5.1 WebKit 534 - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть переключатель таблиц стилей, который прекрасно работает во всех основных браузерах до Safari 5.1 и, возможно, в предыдущей версии Chrome. Источник проблемы находится в WebKit версии 534. Другие дизайнеры сталкивались с подобными проблемами:

https://discussions.apple.com/thread/3215084?start=0&tstart=0

Эта версия WebKit не работает:

a.disabled  = false

в следующем сценарии:

  function changeLayout(description){
   var i, a;
   for(i=0; (a = document.getElementsByTagName("link")[i]); i++){
   if(a.getAttribute("title") == description){a.disabled = false;}
   else if(a.getAttribute("title") != "default"){a.disabled = true;}
}
}

(или, может быть, в этом случае будет разрешена только одна активная таблица стилей по умолчанию?)

У меня есть альтернативный код, который я могу предоставить для переключения таблицы стилей, но он более обременителен, и я хочу запустить его только в случае сбоя обычного метода.

Есть ли способ проверить, уважает ли браузер "a.disabled = false" (или правда в этом отношении) а затем доставить альтернативный код, если нет?

ИЛИ есть ли надежный способ тестирования WebKit версии 534?

1 Ответ

0 голосов
/ 14 декабря 2011

Я знаю, что jQuery.Browser может обнаруживать такие вещи, как webkit и версии. Проверьте это здесь:

http://api.jquery.com/jQuery.browser/

Редактировать

Похоже, что теперь он ограничен, заменен на jQuery. Поддержка:

http://api.jquery.com/jQuery.support/

...