2009-08-04 2 views
2

Это звучит как глупый вопрос (для меня), но я искал, и я не могу найти нигде, что, кажется, говорит об этом. Где тип носителя для набора агентов - он жестко закодирован браузером (или что-то еще) или настраивается (в частности, IE)?Настройка типа медиа-браузера

Я спрашиваю, потому что я пишу веб-приложение, которое будет в основном использоваться обычными ПК, но также будут использоваться некоторые нетбуки. Однако эти нетбуки будут работать под управлением XP, и это, кажется, будет обнаружено как обычный браузер Windows, однако для определенных страниц я хочу, чтобы они использовали разные CSS (в основном для более крупных типов шрифтов), поэтому я надеялся настроить их на работу устройств, а затем нажмите на мой CSS для соответствующих страниц (пользователи, у которых они есть, также будут входить в систему с обычных ПК, поэтому определение типа пользователем не является вариантом).

Или есть лучший/более правильный способ сделать это?

+0

Для тех, кто смотрит на этот вопрос, похоже, это не может быть сделано. Я не хотел смотреть на размер экрана, так как это означало, что мне пришлось писать условия для загрузки правого листа CSS, тогда как тип носителя обработал бы это автоматически. Я положил запись в пользовательском агенте –

ответ

0

Я работаю в ASP.NET, поэтому масштабирование CSS не является вариантом - большинство экранов будут в порядке, но для одного экрана макет должен быть разным на нетбуках так что в этом случае пользователям придется увеличивать масштаб для одной страницы, а затем снова для других и, очевидно, это нехорошее решение (плюс фактический CSS будет отличаться, а не только уровень масштабирования - только определенные элементы шрифты будут увеличены, например). Проблема заключается в том, что клиенты будут рассматриваться как «обычные» клиенты Windows - Mozilla/4.0 (совместимый; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3) (на случай, если кому-то интересно, часть Trident - это только IE8, говорящий, что это IE8, если он маскируется под IE7), поэтому мне нужно будет изменить как клиенты представляют себя. Самый простой (теоретически) способ сделать это - настроить их как другой тип носителя, чтобы они автоматически загружали правильный CSS без каких-либо действий на стороне сервера, но это просто знание, как это сделать.

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

0

Как правило, обслуживание страниц на основе пользовательского агента обрабатывается веб-сервером веб-приложения или редко с помощью некоторого javascript. Если вы укажете язык/фрейм, который вы используете, может появиться дополнительная помощь.

Изменение экрана пользовательского агента на клиентах, как правило, не очень хорошая идея. Создайте свой css для масштабирования и позволяйте масштабировать.

1

Самый простой способ - определить разрешение экрана пользователя с помощью Javascript: screen.width и screen.height. Если он слишком мал, примите соответствующие меры, например, вместо использования вашей таблицы стилей для мобильных устройств. Не существует способа определить точное устройство, которое использует человек.

0

Пользовательский агент HTTP-заголовка - это то, как браузер «сообщает» веб-серверу, какой он тип браузера. Он также может содержать операционную систему и версию. В большинстве обычных условий эти значения являются правильной индикацией. Мы можем использовать эту информацию для извлечения подходящего html/css, который подходит браузеру (например, мобильному устройству, IE6 и т. Д.) На стороне сервера.

Некоторые рамки, например. ASP.NET имеет некоторую форму функции возможностей браузера, чтобы «адаптировать» выход html (хотя я не уверен).

Я не могу придумать лучшего способа сделать иначе. Для определения размера экрана обнаружение javascript должно работать хорошо, но это не дает вам многого с точки зрения макета и размера шрифта, если у вас нет какой-либо формы реализации, которая может отображать вывод в виде AJAX. Не может быть довольно сложным.

Здесь не так много ответов, просто надеюсь, что это может облегчить больше идей.

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