Изменение таблиц стилей в зависимости от useragent - PullRequest
2 голосов
/ 30 ноября 2011
<script language="Javascript">
var deviceIphone = "iPhone";
var deviceIpod = "iPod";

//Initialize our user agent string to lower case.
var uagent = navigator.userAgent.toLowerCase();

//**************************
// Detects if the current device is an iPhone.
function DetectiPhone()
{
   if (uagent.search(deviceIphone) > -1)
   {document.write('<link rel="stylesheet" type="text/css"       href="ui/mobile/css/site.css">');
}   

и т.д ...

Это начало моего кода. Я пытаюсь изменить файл CSS в зависимости от того, какую платформу использует пользователь. В настоящее время я использую media = "screen ...", но он не работает с количеством платформ, которые я пытаюсь использовать. Мне нужно что-то более подробное / сложное, поэтому я обращаюсь к потребителям.

Есть идеи, почему файл css не меняется на моем iPhone, используя приведенный выше код?

Еще лучше, есть идеи по другому способу изменения таблиц стилей в зависимости от платформы пользователя / разрешения экрана?

Ответы [ 2 ]

3 голосов
/ 30 ноября 2011

Попробуйте:

if(navigator.userAgent.match(/iPhone/i)){
    // code
}

соответствует работе с регулярным выражением.Флаг «i» указывает на регистр символов;)

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

Возможно, приведенный выше код не работает, потому что вы конвертируете строку UA в нижний регистр, но строки целевого устройства имеют camelCased:)

Функция search() чувствительна к регистру по умолчанию

...