2012-02-09 4 views
0

У меня есть страница с именем android.html с кнопкой с идентификатором «обнаружение». Когда вы нажимаете кнопку, скрипт проверяет, какая версия ОС у вас на устройстве Android у нас заголовок. Как я могу изменить скрипт, чтобы применить стиль, если он имеет версию 3.0 или выше, и другой стиль, если он имеет версию 2.9 и ниже. Вот сложная часть ... Я не хочу применять стиль css на странице android.html, но на странице playlist.html, на которую вы будете перенаправлены нажатием кнопки.jQuery для изменения css для следующей страницы

HTML

<div id="detect">button</div> 

JS

$('#detect').click(function() { 
if (/Android (\d+(?:\.\d+)+)/.test(navigator.userAgent)){ 
var version=new Number(RegExp.$1) 
if (version>=3) 
    //redirect to playlist.html using style1.css 
} 
else 
//redirect to playlist.html using style2.css 
}); 
+1

Не было бы проще просто выполнить эту проверку на document.ready на странице списка воспроизведения и загрузить соответствующую таблицу стилей в этот момент, а не иметь две отдельные переадресации? – Carter

+0

Согласовано. Вы должны действительно проверить этот файл. – pseudosavant

ответ

0

Либо добавьте пару ключ/значение строки запроса к переадресации, которая позволяет следующей странице узнать, какую таблицу стилей загрузить, или просто проверить строку user-agent при загрузке следующей страницы.

$('#detect').click(function() { 
    if (/Android (\d+(?:\.\d+)+)/.test(navigator.userAgent)){ 
     var version=new Number(RegExp.$1) 
     if (version>=3) 
      window.location = 'playlist.html?style=1'; 
     } else { 
      window.location = 'playlist.html?style=2'; 
     } 
    } 
}); 

Тогда на playlist.html странице:

if (window.locaion.search.indexOf('style=1') > -1) { 
    $.getScript('style1.css'); 
} else if (window.locaion.search.indexOf('style=2') > -1) { 
    $.getScript('style2.css'); 
} 

Это if/then проверка довольно проста. Лучший способ сделать это - получить параметры строки запроса в массиве, проверить для ключа style, а затем загрузить соответствующее значение.

+0

Что бы я поставил на playlist.html, чтобы прочитать строку запроса? – Blainer

+0

@Blainer Я просто обновил свой ответ, чтобы проверить свойство 'window.location.search' для значения. Если вы используете язык сценариев на стороне сервера, например PHP, я рекомендую выполнить эту проверку на стороне сервера, а не на стороне клиента. – Jasper

+0

почему-то, когда я нажимаю кнопку, ее даже не перенаправляет на плейлист.html вообще. – Blainer

0

Перенаправление на этот HTML-страницу со строкой запроса, т.е. playlist.html? CSS = v1 или v2, то проверьте, что ПОЛУЧИТЬ пары в следующем страницы и включить соответствующий файл css.

0

Возможно, необходимо передать переменную строки запроса в перенаправление, указав «преобразование», и проверить эту переменную и вставить файл .css на основе значения на второй странице.

Смежные вопросы