Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

 
 
Опции темы Опции просмотра
Старый 02.06.2008, 01:09   #2
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Как нам говорит исходный кот,
PHP код:
    function browserInfo($useragent)    {
        foreach(
$this->hookObjectsArr as $hookObj)    {
            if (
method_exists($hookObj'browserInfo')) {
                
$result $hookObj->browserInfo($useragent);
                if (
strlen($result)) {
                    return 
$result;
                }
            }
        }

        
$useragent trim($useragent);
        
$browserInfo=Array();
        
$browserInfo['useragent']=$useragent;
        if (
$useragent)    {
            
// browser
            
if (strstr($useragent,'MSIE'))    {
                
$browserInfo['browser']='msie';
            } elseif(
strstr($useragent,'Konqueror'))    {
                
$browserInfo['browser']='konqueror';
            } elseif(
strstr($useragent,'Opera'))    {
                
$browserInfo['browser']='opera';
            } elseif(
strstr($useragent,'Lynx'))    {
                
$browserInfo['browser']='lynx';
            } elseif(
strstr($useragent,'PHP'))    {
                
$browserInfo['browser']='php';
            } elseif(
strstr($useragent,'AvantGo'))    {
                
$browserInfo['browser']='avantgo';
            } elseif(
strstr($useragent,'WebCapture'))    {
                
$browserInfo['browser']='acrobat';
            } elseif(
strstr($useragent,'IBrowse'))    {
                
$browserInfo['browser']='ibrowse';
            } elseif(
strstr($useragent,'Teleport'))    {
                
$browserInfo['browser']='teleport';
            } elseif(
strstr($useragent,'Mozilla'))    {
                
$browserInfo['browser']='netscape';
            } else {
                
$browserInfo['browser']='unknown';
            }
            
// version
            
switch($browserInfo['browser'])    {
                case 
'netscape':
                    
$browserInfo['version'] = $this->browserInfo_version(substr($useragent,8));
                    if (
strstr($useragent,'Netscape6')) {$browserInfo['version']=6;}
                break;
                case 
'msie':
                    
$tmp strstr($useragent,'MSIE');
                    
$browserInfo['version'] = $this->browserInfo_version(substr($tmp,4));
                break;
                case 
'opera':
                    
$tmp strstr($useragent,'Opera');
                    
$browserInfo['version'] = $this->browserInfo_version(substr($tmp,5));
                break;
                case 
'lynx':
                    
$tmp strstr($useragent,'Lynx/');
                    
$browserInfo['version'] = $this->browserInfo_version(substr($tmp,5));
                break; 
в нём проверка на наличие в useragent строки MSIE стоит раньше, чем Opera, и, видимо, до этого case просто не доходит выполнение кода.
Стало быть, можно написать патч и послать его в core team, а можно воспользоваться любезно предоставленным Hook и написать мааленький экстеншен, и возвращать в нём значение только для оперы.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
 

Теги
conditions, opera


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
opera кеширует FE demav Общие вопросы 0 07.04.2008 14:10
Вопрос по sr_language_menu Tod Общие вопросы 14 10.08.2007 19:29
Как работать с Typo3 в Opera? Boni-M Общие вопросы 9 07.06.2007 04:53
Поддержка Opera 9.x в TYPO3 4.1 Pavel Antonov Новости TYPO3-разработки 0 28.02.2007 16:29
Неудобства работы в IE и Opera GF Общие вопросы 3 16.01.2006 12:21


Часовой пояс GMT +4, время: 04:28.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория