ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (1): [1]   

> Без описания
Gori
Отправлено: 2 января 2017 — 14:21
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Всё больше людей переходят на мобильный интернет... и т.д. и т.п.

Вот решил сделать себе тоже мобильную версию. Т.к. терять посетителей ни с гугла ни с яндекса не охота.

Адоптивный вариант отверг, т.к. это костыли. По крайней мере такое мнение сложилось при просмотре разных статей на эту тему.

Хочу спросить как лучше всё же делать? Каким направлением идти?

Вот например есть по юзер агенту в .htaccess:
CODE:
RewriteCond %{HTTP_USER_AGENT} (?i:midp|samsung|nokia|j2me|avant|docomo|novarra|palmos|palmsource|opwv|chtml|pda|mmp|blackberry|mib|symbian|wireless|nokia|hand|mobi|phone|cdm|upb|audio|SIE|SEC|samsung|HTC|mot-|mitsu|sagem|sony|alcatel|lg|eric|vx|NEC|philips|mmm|xx|panasonic|sharp|wap|sch|rover|pocket|benq|java|pt|pg|vox|amoi|bird|compal|kg|voda|sany|kdd|dbt|sendo|sgh|gradi|jb|dddi|moto|iphone|android)
RewriteRule ^([^mobile]*?)page/?$ http://site.ru/mobile-page/ [R=301,L]

Но он далёк от совершенства. Многое будет пропущено.

Похоже на PHP не лучше:

CODE:
<?php
$uagent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$uagent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($uagent,0,4)))
header('location: http://site.ru/mobile/');
?>


Идеально работает:
CODE:
<script type='text/javascript'>
if(window.innerWidth<600)
location.href='http://site.ru/mobile/';
</script>


Но тоже сомнительно.

Как лучше? Как профессионалы делают?

(Отредактировано автором: 2 января 2017 — 14:49)

 
 
Gori
Отправлено: 2 января 2017 — 14:52
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Кстати варинт по юзерагенту тестил на своём смартфоне, не работате. В интернете множество вариантов на Php, ни один у меня не работает.
 
 
electron
Отправлено: 3 января 2017 — 08:05
Post Id



Администратор
ExBB Team


Покинул форум
Сообщений всего: 3917
Дата рег-ции: Февр. 2009  
Репутация: 341




Gori пишет:
Как лучше? Как профессионалы делают?

профессионалы делают субдомен типа m.site.ru , на который и отсылаются мобильные клиенты
 
 
Gori
Отправлено: 3 января 2017 — 10:21
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




electron , ясно.
Пока планирую делать просто в дирректории типа: mobile/
Читал, что иначе придётся раскручивать субдомен m.
Т.к. это вроде уже другой сайт будет. Так пишут в статьях. Точно не знаю.

А вот именно способ переадресовки на другой каталог или субдомен, какой лучше выбрать? По юзерагенту у меня не определяет.

(Отредактировано автором: 3 января 2017 — 10:22)

 
 
electron
Отправлено: 3 января 2017 — 20:30
Post Id



Администратор
ExBB Team


Покинул форум
Сообщений всего: 3917
Дата рег-ции: Февр. 2009  
Репутация: 341




Gori пишет:
По юзерагенту у меня не определяет

надо разбираться почему не определяет. на exbb.info/community если зайти определяет моб.версию?
 
 
Taki
Отправлено: 4 января 2017 — 15:06
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 224
Дата рег-ции: Нояб. 2016  
Репутация: 5




electron пишет:
профессионалы делают субдомен типа m.site.ru , на который и отсылаются мобильные клиенты

Вы сделали мобильную версию сайта и она авто стартует если вход со смартфона был. А можно попросить сделать её в виде скина отдельного. Ну чтобы можно было подключать. И в виде отдельной версии (для форума) которые предполагается вести только для мобильных (и которы будет размещен только на m.site.ru).
2. Второй вопрос. Если все таки делать 2 форума один на site.ru а другой на m.site.ru и перенаправлять если со смарта. То как их синхронизировать? Чтобы сообщения вводимые на обычном форуме (site.ru) появлялись и в мобильной версии на m.site.ru
 
 
electron
Отправлено: 4 января 2017 — 16:39
Post Id



Администратор
ExBB Team


Покинул форум
Сообщений всего: 3917
Дата рег-ции: Февр. 2009  
Репутация: 341




Taki пишет:
Вы сделали мобильную версию сайта и она авто стартует если вход со смартфона был

мы делали моб.версию форума , а не сайта. это разные вещи...

Taki пишет:
можно попросить сделать её в виде скина отдельного

она и сделана в виде отдельного скина
 
 
Taki
Отправлено: 4 января 2017 — 18:14
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 224
Дата рег-ции: Нояб. 2016  
Репутация: 5




electron пишет:
мы делали моб.версию форума , а не сайта. это разные вещи...

Ну Вы же поняли. Ну сайта форума.
Форум - тоже сайт. Прям придрались. Лучше ответьте на вопросы ниже которые были.
Где взять этот скин, как его подключить к 1.1.3. Можно ли использовать как основной и единственный скин?
 
 
electron
Отправлено: 4 января 2017 — 18:52
Post Id



Администратор
ExBB Team


Покинул форум
Сообщений всего: 3917
Дата рег-ции: Февр. 2009  
Репутация: 341




Taki пишет:
Форум - тоже сайт.

не у всех. на ExBB.INFO например нет форума, у нас сайт крутится.

Taki пишет:
Где взять этот скин, как его подключить к 1.1.3

просто заливаете прикрепленную папку MobileExBB в папку templates , первые два шага инструкции пропускаете и начинаете делать изменения в файлах от слов " в файле topic.php найти..." и далее по инструкции

Taki пишет:
Можно ли использовать как основной и единственный скин?

можно. удалите все папки из папки templates и оставьте только папку MobileExBB, тогда у всех юзеров автоматом установится только мобильный стиль
 
 
Gori
Отправлено: 15 января 2017 — 08:40
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




electron пишет:
надо разбираться почему не определяет. на exbb.info/community если зайти определяет моб.версию?

Да, определяется.
Странно.

А можно ваш скрипт?
И как его приделать к такому варианту:

Есть текст "Текст 1".
Его нужно показывать для PC.
Есть текст "Текст 2".
Его нужно показывать для мобильных устройств.

Как сделать так.
 
 
electron
Отправлено: 15 января 2017 — 13:45
Post Id



Администратор
ExBB Team


Покинул форум
Сообщений всего: 3917
Дата рег-ции: Февр. 2009  
Репутация: 341




Gori пишет:
А можно ваш скрипт?

у нас не скрипт, у нас фильтрация по юзер-агенту
 
 
Gori
Отправлено: 16 января 2017 — 08:51
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




electron ,

как вы думаете, это хороший скрипт?

CODE:
<?php
$tablet_browser = 0;
$mobile_browser = 0;

if (preg_match('/(tablet|ipad|playbook)|(android(?!.*(mobi|opera mini)))/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
$tablet_browser++;
}

if (preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android|iemobile)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
$mobile_browser++;
}

if ((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') > 0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
$mobile_browser++;
}

$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'], 0, 4));
$mobile_agents = array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda ','xda-');

if (in_array($mobile_ua,$mobile_agents)) {
$mobile_browser++;
}

if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'opera mini') > 0) {
$mobile_browser++;
//Check for tablets on opera mini alternative headers
$stock_ua = strtolower(isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])?$_SERVER['HTTP_X_OPERAMINI_PHONE_UA']:(isset($_SERVER['HTTP_DEVICE_STOCK_UA'])?$_SERVER['HTTP_DEVICE_STOCK_UA']:''));
if (preg_match('/(tablet|ipad|playbook)|(android(?!.*mobile))/i', $stock_ua)) {
$tablet_browser++;
}
}

if ($tablet_browser > 0) {
// do something for tablet devices
print 'is tablet';
}
else if ($mobile_browser > 0) {
// do something for mobile devices
print 'is mobile';
}
else {
// do something for everything else
print 'is desktop';
}

?>
 
 
Gori
Отправлено: 16 января 2017 — 11:06
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Отзыв об этом скрипте:

Очень часто при разработке веб-приложений возникает необходимость определения браузера клиента, для того, чтобы показать ему тот или иной контент или изменить логику поведения веб-приложения. Оригинал статьи расположен здесь. Demo здесь.

Для определения мобильного устройства используются регулярные выражения (preg_match) PHP, этот подход сохранился и по сей день.

Скрипт для определения мобильного браузера клиента, будь то планшет или мобильный телефон, работает путем сопоставления строк User-Agent ($_SERVER['HTTP_USER_AGENT']) мобильных устройств с использованием регулярных выражений. Но, стоит отметить, что такой подход не дает высокой степени обнаружения модели мобильного устройства, определяется только тип устройства — телефон или планшет, это видно из параметров регулярного выражения и элементов массивов.

Так же использование такого подхода может не подойти для высоко нагруженных веб-приложений, preg_match выполняется долго... Скрипт может не распознавать некоторые планшеты Android, которые сделан в Китае на Малой Арнаутской)

Стоит понимать, что этот скрипт нуждается в постоянном обновлении списка новых устройств.
 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« PHP/Perl »

> Похожие темы: Организация мобильной версии сайта
Темы Форум Информация о теме Обновление
ExBB 2.0.0-Pre
Первый предварительный релиз новой версии
Релизы Ответов: 138
Автор темы: WebMaster
6 февраля 2019 — 14:15
Автор: Zeg
Sitemap
Генерация карты сайта/форума
Обсуждение Ответов: 3
Автор темы: mastersound
5 августа 2009 — 23:52
Автор: mastersound
Стали регистрироваться спам-боты
На форуме, после обновления до версии RC1, стали регистрироваться спам-боты
Общие вопросы Ответов: 22
Автор темы: Borman
3 февраля 2010 — 11:41
Автор: yura3d
sitemap для форума
Есть ли какой мод для создания карты сайта (форума)
Модификации и дополнения Ответов: 0
Автор темы: GreatALF
22 мая 2014 — 04:53
Автор: GreatALF
Чат в мобильном телефоне
Аякс в мобильной опере не работает
Обсуждение Ответов: 2
Автор темы: jguar69s
2 апреля 2012 — 19:35
Автор: yura3d
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.069]     [ ]