Определения браузера

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