Определения браузера
1.
NeKoder (13.02.2013 / 04:28)
Привет! в index.php создал
// ------------------ Функция определения браузера --------------------//
$h_ua = str_replace('windows ce', '', strtolower($_SERVER['HTTP_USER_AGENT']));
if (
!$h_ua ||
strpos($h_ua, 'windows') !== false ||
strpos($h_ua, 'linux') !== false ||
strpos($h_ua, 'bsd') !== false ||
strpos($h_ua, 'x11') !== false ||
strpos($h_ua, 'unix') !== false ||
strpos($h_ua, 'macintosh') !== false ||
strpos($h_ua, 'macos') !== false)
{
$versiya = "web";
} else {
$versiya = "wap";
}
/////////////////////////Определение////////////////////////////
if($versiya=="wap")
{
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
echo '<html xmlns="http://www.w3.org/1999/xhtml">';
//echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">';
echo '<html>';
echo '<head>';
echo '<title>'.$title.'</title>';
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
echo '<meta http-equiv="Content-Style-Type" content="text/css" />';
echo '<link rel="shortcut icon" href="http://'.$_SERVER['HTTP_HOST'].'/favicon.ico" type="image/x-icon" />';
echo '<link href="http://'.$_SERVER['HTTP_HOST'].'/themes/wap/diz.css" rel="stylesheet" type="text/css">';
echo '</head><body>';
echo '<!--Themes by palbu.ru-->';
//echo 'Версия для телефона';
include "pages/wap.php";
}
else
{
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
echo '<html xmlns="http://www.w3.org/1999/xhtml">';
echo '<html><head>';
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
echo '<title>'.$title.'</title>';
echo '<link rel="shortcut icon" href="favicon.ico" />';
echo '<link href="http://'.$_SERVER['HTTP_HOST'].'/themes/web/diz.css" rel="stylesheet" type="text/css">';
echo '</head><body>';
echo '<!--Themes by palbu.ru-->';
//echo 'Версия для компа';
include "pages/web.php";
}
2.
NeKoder (13.02.2013 / 04:29)
в wap.php и web.php страницах работает все норм, но вот одна проблема! Не знаю
как подключить определение для других страниц!
К примеру на эти test.php и test2.php ! Помогите разобраться
Добавлено через 02:27 сек.
Нужно так, чтобы на разных страницах работало определение браузера и кидоло на вап или веб версию(Кто с компа на веб версию, а кто с тела на вап)
3.
Владислав (13.02.2013 / 04:33)
Не понимаю тебя. Ты добавил код на индекс, добавь его на нужные страницы, либо сделай реальную функцию (
function lalala(){
//определение
}
)
Добавлено через 01:26 сек.
У тебя в условном операторе идет инклуд на страницу pages/web.php и pages/wap.php
Ну так на разных страницах нужно заменять на разные страницы.
4.
NeKoder (13.02.2013 / 04:56)
eXtaZy (13 Февраля 2013 / 04:33)
Не понимаю тебя. Ты добавил код на индекс, добавь его на нужные страницы, либо сделай реальную функцию (
function lalala(){
//определение
}
)
Добавлено через 01:26 сек.
У тебя в условном операторе идет инклуд на страницу pages/web.php и pages/wap.php
Ну так на разных страницах нужно заменять на разные страницы.
index.php у меня в корне сайта, а эта функция в нем, на разных не получится так
либо сделай реальную функцию (
function lalala(){
//определение
}
)
Если знал бы, то зделал бы... может ты поможешь с этой функцией?
Добавлено через 03:58 сек.
Эта что ли?
function ua_device($ua)
{
if(strpos($ua, 'Opera mini')!==false) return 'opera_mini';
if(strpos($ua, 'MSIE')!==false
|| strpos($ua, 'Firefox')!==false
|| strpos($ua, 'Opera')!==false
|| strpos($ua, 'Chrome')!==false
|| strpos($ua, 'Maxthon')!==false
|| strpos($ua, 'Safari')!==false
|| strpos($ua, 'Gecko')!==false
) return 'computer';
else return 'mobile';
}
echo ua_device($_SERVER['HTTP_USER_AGENT']);
возвратит opera_mini, computer, mobile в зависимости от результата.
А там уже думаешь, что делать: например, перенаправлять на другую страницу, или выводить другую версию.
Например:
switch(ua_device($_SERVER['HTTP_USER_AGENT']))
{
case 'opera_mini':
case 'computer':
echo 'Версия для компа';
break;
case 'mobile':
echo 'Привет, телефоны';
break;
}
5.
Петр (13.02.2013 / 07:11)
function page_version(){тут твой код}
помести это в какой-нибудь файл, на нужных страницах подключай его и вызывай функцию.
6.
mRWiNeT (08.11.2014 / 22:17)
скажите данная функция к другим движкам подойдет?!
7.
JustZero (08.11.2014 / 23:30)
что за велосипед... есть же норм библиотека
mobile detect
8.
Серега (08.11.2014 / 23:44)
4.
NeKoder, ты че, из дцмс это вырезал? Или из мода его? Че там ниспросишь?
9.
Dmitry Kokorin (09.11.2014 / 01:56)
http://visavi.net/forum/topic.php?tid=41523&start=24 мб это поможет
10.
lark (09.11.2014 / 11:00)
там если linux строку оставить весь андройд травик пойдет как пк,
11.
shilo (11.11.2014 / 23:32)
А в этом вообще есть смысл? мб лучше переместиться в 21 век и освоить адаптивную вёрстку? Хотяб на том же бутстрапе
12.
lark (12.11.2014 / 00:05)
shilo (11 Ноября 2014 / 23:32)
А в этом вообще есть смысл? мб лучше переместиться в 21 век и освоить адаптивную вёрстку? Хотяб на том же бутстрапе
Есть , обычно в адаптации то кнопка меню не жмется , на мини опере , то уже раскрыта , страница перегружена и конца ей нет , вот к примеру
http://rdportal.ru видео шаблон , это просто *** с трубы его смотреть не вариант , да и все они такие во сносном
13.
iNeeXT (12.11.2014 / 00:15)
Поддерживаю 12 пост. Сейчас "рядовой" телефон не справляется с тем же Bootstrap.
14.
shilo (20.11.2014 / 21:03)
13.
iNeeXT, хм, у меня обычный тел на Андрюше... всё справляется. Если речь идёт о опере мини, то мб всё-таки переместиться в 21 век?
Какой смысл ориентироваться на реальное меньшинство? На тех кто всё ещё с оперы мини (тестил кстати с оперы мобайл, всё ок), на тех кто отключил JS (тут вообще считаю сами себе злобные буратины), на тех кто с тетрисов по сайтам ползает и т.д.?
15.
Антон (20.11.2014 / 21:15)
14.
shilo, поддержу.
Для чего брать в расчет те устройства на которых нормально и без глюков с тормозами только звонится и смс шлется? Уже телефоны пошли по 3гб оперативы и 4 яд процессором.
Добавлено через 01:01 сек.
13.
iNeeXT, рядовой это сейчас 512мб оперативы.
16.
lark (20.11.2014 / 22:10)
shilo (20 Ноября 2014 / 21:03)
13. iNeeXT, хм, у меня обычный тел на Андрюше... всё справляется. Если речь идёт о опере мини, то мб всё-таки переместиться в 21 век?
Какой смысл ориентироваться на реальное меньшинство? На тех кто всё ещё с оперы мини (тестил кстати с оперы мобайл, всё ок), на тех кто отключил JS (тут вообще считаю сами себе злобные буратины), на тех кто с тетрисов по сайтам ползает и т.д.?
на счет меньшества я сомневаюсь , на сайтах мини рперы 40% , а покка они есть надо учитывать это, js тут не причем , есть шаблоны в которые заходиш меню кривое или раскрыто, к тому же многие сайты подсаживают на ус браузер по партнерсок програме , да и платят за установку этого браузера и мини оеры . А значит их больше и больше .
URL:
https://visavi.net/topics/36693