Лучшая библиотека пользовательских агентов для Codeigniter - PullRequest
0 голосов
/ 26 января 2012

Я ищу более продвинутую библиотеку обнаружения пользовательских агентов для Codeigniter. Я хочу добавить к тегу body короткие теги для ОС, браузера и версии браузера, чтобы что я могу написать CSS, ориентированный на разные браузеры и платформы.

Как это:

<body id="Win7 IE9">

Прямо сейчас библиотека определения агента по умолчанию для CI производит это:

<body id="Windows 7 Internet Explorer 9.22.2">

Как я могу "сократить" ответ?

Я хочу достичь этого: http://www.contao.org/en/blog/forget-about-browser-hacks-in-contao-210.html

Благодарен за все комментарии!

Ответы [ 4 ]

1 голос
/ 30 мая 2012

Я вижу, что вы пытаетесь сделать.Чтобы покончить с этим с помощью CodeIgniter, вам придется переписать библиотеку пользовательских агентов, чтобы она возвращала более короткие строки пользовательских агентов (это отнимает много времени, но не слишком сложно) (четыре массива пользовательских агентов находятся в: system / library / user_agents.php).

1 голос
/ 26 января 2012

Не думаю, что библиотека пользовательских агентов плохая.Он просто делает то, что должен.
Может быть, вам следует создать небольшого помощника или расширить библиотеку пользовательских агентов, это действительно простая задача (вы должны взглянуть на agent->browser(), agent->version, agent->platfrom() и т. Д.)

Несмотря на то, что говорит Контао, это взлом браузеров.Лучший способ - правильно составить таблицы стилей и / или JavaScript (без этого типа хаков).Мне никогда не требовались разные таблицы стилей (или классы, специфичные для браузера) для разных браузеров.

0 голосов
/ 27 июня 2013

Прошло уже больше года с тех пор, как был задан этот вопрос, но я уверен, что это поможет кому-то в будущем.Имена пользовательских агентов определены в файле ./application/config/user_agents.php в формате ассоциативного массива, вы можете изменить значение массива на тот, который вам нужен.

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

0 голосов
/ 14 марта 2013

Попробуйте это

$ this-> session-> UserData [ 'user_agent'];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...