aceCheckBrowser - БЕСПЛАТНЫЙ плагин для проверки браузера посетителя сайта

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

И вот, что получилось в итоге.

Плагин aceCheckBrowser умеет делать следующие очень простые (но так иногда нужные) вещи:

1) Проверять браузер посетителя сайта, и если браузер у него, условно говоря, «плохой», предложить ему установить «хороший» (с точки зрения владельца сайта) браузер.

2) Проверяет, включен ли у посетителя javascript, и если нет, то выдает соответствующее сообщение.

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

Какие настройки есть у плагина:

1) Любая из проверок может быть включена/выключена.

2) «Плохим» боаузером может быть назначет абсолютно любой браузер — от ненавистного многими IE 6 до вполне себе вменяемого, скажем, Firefox 3.5 (например, если на сайте используются какие-то специфические фичи, поддерживаемые только последними версиями браузеров).

3) Какие именно браузеры предложить пользователю для скачивания и откуда — это тоже все можно задать.

4) Ну, и скин для мобильных устройств — это тоже задается.

Вообще-то, этот плагин может настраиваться так же, как и большинство плагинов в ЛС — лезем ручками в конфиг-файл и там задаем нужные параметры. Но можно и более цивилизованным способом это сделать — через админку. В админпанели меню «Плагины» вынесено сейчас отдельным пунктом, и в списке плагинов есть еще одна колонка «Настройки». Вот оттуда и работает настройка данного плагина. Т.е. все можно сделать легко и просто в онлайне, ничего не ковыряя руками в текстовых файлов.

Пока модерация всех плагинов в каталоге LS отложена до конца месяца (видимо, ort в отпуске), скачать этот плагин можно здесь: acecheckbrowser.sourceforge.net/

Для него вам обязательно потребуется АдминПанель версии не ниже 1.4.160, которую можно скачать здесь:
aceadminpanel.sourceforge.net/

ЗЫ Если разработчикам плагинов интересно, то могу отдельным постом дать свои предложения, как сделать так, чтоб не гонять админов ЛС-сайтов по конфиг-файлам или по разрозненным ссылкам, а собрать все настройки плагинов в одном месте, где, собственно, им и положено быть — в админке.

29 комментариев

avatar
Спасибо тезка!
Готов подарить тебе аккаунт на твиттере если он тебе канечно нужен:)
twitter.com/avadim
Аккаунтом не пользовался:)
Если пригодится, пиши в личку отдам пасс от аккаунта.
avatar
Спасибо за предложение, тезка, но акк на твитере уже есть. :)
avatar
Можно вполне его переименовать в нужный. В опред. момент автор выше освождает имя, и ты его занимаешь)
avatar
Спасибо большущее! Вы прямо благодетель! Жаль у нас на сайте нет бейджиков. У вас и еще у 3-4 человек на сайте был бы «ЗОЛОТОЙ ЧЕЛОВЕК». Крепко жму руку.
avatar
Полезная вещь. Многие сейчас с мобилок заходят.
  • aex
  • 0
avatar
После установки АдминПанели версии 1.4.160 на страничках админки выходит вот это:
Warning: Smarty error: unable to read resource: "footer.tpl" in site/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092

Кеши чистил.
На сайте всё нормально. При возвращении на старую версию, в админке всё норм.
avatar
Такое только в админке вылезает? На остальных страницах нормально?
avatar
Да только в админке.
avatar
Что даже предположений нет???
avatar
Наверно, футера не находит. У меня стоит шаблон Социал, но, когда переходишь в эту Админку, загружается дефолтный шаблон New. Может поэтому.
avatar
Не наверно, а именно так — не находит. Посмотрим-разберемся, что там не так
avatar
Буду ждать.
avatar
То что он их не находит и Мне понятно! Вот что с этим сделать?
avatar
А он там точно есть, этот footer.tpl?
avatar
Есть там всё! Там где и должно быть.
avatar
Спасибо большое!
avatar
Было бы хорошо, если бы плагин дружил с Браузкэп и мог передавать в шаблоны переменные, полученные на основе информации из него. Чтобы в шаблоне можно было бы задавать условия — если X, то выводим xxx, если Y, то выводим YYY, иначе выводим ZZZ
avatar
А что именно интересно из Браузкэп? Зная об этой фиче, я никогда ею не пользовался, т.к. меня всегда смущало, что инфа берется из обычного файла, который где-то там лежит, а може и не лежит, а может он уже старый и т.д. Если мне было нужно, я строку ЮзерАгента обычно парсил.
avatar
Блокировка какого-либо браузера — это скорее костыль для любителя, который не может справиться с IE6, чем необходимый инструмент профессионального разработчика.

Для последнего полезно иметь возможность отфильтровать браузеры, например, по поддерживаемой версии css и другим параметрам, для чего и предназначен Браузкэп. Он содержит в себе расширенную информацию о браузерах и этим выгодно отличается от Юзерагент.

Пример:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 6.0

[IE 6.0]
Parent=DefaultProperties
Browser=«IE»
Version=6.0
MajorVer=6
Win32=true
Frames=true
IFrames=true
Tables=true
Cookies=true
BackgroundSounds=true
JavaScript=true
VBScript=true
JavaApplets=true
ActiveXControls=true
CssVersion=2


Подобные решения используют крупные проекты, выдающие различную разметку и файлы стилей разным браузерам. При желании таким образом можно объединить шаблон для настольных и мобильных браузеров или выдавать код с костылями для проблемных браузеров, отдавая остальным чистый и легковесный.
avatar
Блокировка какого-либо браузера — это скорее костыль для любителя, который не может справиться с IE6, чем необходимый инструмент профессионального разработчика.
Это уже тема для холивара :)
Отчасти я согласен, что блокировка — не есть правильное решение, и именно поэтому этот плагин ничего не блокирует, а всего лишь выводит предупреждение.

Но вот все свои сегодняшние наработки я однозначно без оглядки на ИЕ6 делаю — просто не хочу тратить на это свои ресурсы. А в каких-то случаях даже от поддержки ИЕ7 думаю отказываться — запарился уже вести два проекта в одном.

Но это так, к слову. А вообще насчет твоего предложения подумаю. Только, наверное, во вьюер не разные переменные передавать лучше, а одну переменную, скажем, объект oBrowser, откуда ты уже дергаешь свойства, какие хочешь.
avatar
Да, конечно объект, пример свойств я привёл выше. Можно ещё добавить в свойства объекта вот это
Parent=IE 8.0
Version=7.0
MajorVer=7
MinorVer=0
Platform=Win2000
Было бы хорошо ещё создавать и свои какие-то группы, например
GoodBrowsers{
«Safari,4»,
«Safari,5»,
«IE,9»,
«IEi,10»,
«Opera,10»,
«Opera,11»,

}
И проверять потом в шаблоне, показывая браузерам из массива одно, а прочим — другое
avatar
avatar
Благодарю, делаю шаблон с css3, поставлю ваш плагин чтобы не бить в бубен
avatar
avatar
Благодарствую!
комментарий был удален
avatar
полезная штука, это даже лучше чем я ждал, пойду ковырять :)
avatar
ЗЫ Если разработчикам плагинов интересно, то могу отдельным постом дать свои предложения, как сделать так, чтоб не гонять админов ЛС-сайтов по конфиг-файлам или по разрозненным ссылкам, а собрать все настройки плагинов в одном месте, где, собственно, им и положено быть — в админке.
Интересно)
avatar
Начал уже, первые наброски здесь: livestreet.ru/blog/addons/7842.html
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.