Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 8952 Просмотров
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Вопрос:
Как подключить отдельный файла CSS для определенного браузера.

Ответ:
Добавить в раздел "head" после общих стилей:
Код
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/<?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
       // checks if browser is Mozilla
 
         if (stristr($nav, "firefox"))
         {
            echo "template_1.css";
         }
      // checks if browser is Opera
 
           elseif (stristr($nav, "opera"))
         {
            echo "template_2.css";
         }
      // checks if browser is Safari
 
         elseif (stristr($nav, "safari"))
         {
            echo "template_3.css";
         }
      // checks if browser is chrome
 
         elseif (stristr($nav, "chrome"))
         {
            echo "template_4.css";
         }
      // If browser is a different one

          else
         {
            echo "template_5.css";
         }
   ?>
" />
Где template_1 - CSS файл для Firefox... дальше по аналогии. template_5.css - для всех остальных браузеров.

Вариант 2 (не проверено)
Добавить джумловский php скрипт в index.php:
Код
<?php
$doc =& JFactory::getDocument();
$browser = &JBrowser::getInstance();
$browserType = $browser->getBrowser();
$browserVersion = $browser->getMajor();
if(($browserType == 'msie') && ($browserVersion < 7))
{
   $doc->addStyleSheet( 'css/ie6.css' );
 
}
echo $browserType.'<br/>';
echo $browserVersion ;
?>
Где за файл определенного стиля отвечает
Код
if(($browserType == 'msie') && ($browserVersion < 7))
{
   $doc->addStyleSheet( 'css/ie6.css' );
 
}
« Последнее редактирование: 12.04.2012, 20:36:22 от lilsaint5800 »
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/template.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/components.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/content.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/
   <?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
       // checks if browser is Mozilla
 
         if (stristr($nav, "firefox"))
         {
            echo "firefoxonly.css";
         }
      // checks if browser is Opera
 
           elseif (stristr($nav, "opera"))
         {
            echo "br_other.css";
         }
      // checks if browser is Safari
 
         elseif (stristr($nav, "safari"))
         {
            echo "br_other.css";
         }
      // checks if browser is chrome
 
         elseif (stristr($nav, "chrome"))
         {
            echo "br_other.css";
         }
      // If browser is a different one

          else
         {
            echo "br_other.css";
         }
   ?>
" />


Здесь у фаирфокса свой файл, у остальных opera..  файл общий (br_other.css).

Вы про это? У меня так не получилось, у меня вместо br_other.css - template.css. Я сделал как в приведенном выше примере. И ни в одном браузере не показывает никакого стиля.
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Дайте ссылку на сайт и код раздела <head> файла, куда вставляли этот код.
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Дайте ссылку на сайт и код раздела <head> файла, куда вставляли этот код.
Сайт на локальной машине делаю. А head скину сейчас.
Код
<head>
<jdoc:include type="head" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl?>/templates/system/css/general.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/typography.css" type="text/css" media="screen,projection" />
     <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" media="screen,projection" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/grid.css" type="text/css" media="screen,projection" />
     <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jQuery.js" type="text/javascript"></script>
</head>
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
А где код проверки браузера, который вы цитировали в прошлом сообщении?
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Ой, дико извиняюсь, скопировал Вам со старого варианта. Вот новый head
Код
<head>
<jdoc:include type="head" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl?>/templates/system/css/general.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/typography.css" type="text/css" media="screen,projection" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/grid.css" type="text/css" media="screen,projection" />
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/
   <?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
       // checks if browser is Mozilla
 
         if (stristr($nav, "firefox"))
         {
            echo "firefox.css";
         }
      // checks if browser is Opera
 
           elseif (stristr($nav, "opera"))
         {
            echo "template.css";
         }
      // checks if browser is Safari
 
         elseif (stristr($nav, "safari"))
         {
            echo "template.css";
         }
      // checks if browser is chrome
 
         elseif (stristr($nav, "chrome"))
         {
            echo "template.css";
         }
      // If browser is a different one

          else
         {
            echo "template.css";
         }
   ?>
" />
     <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jQuery.js" type="text/javascript"></script>
</head>
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Вот замените
Спойлер
[свернуть]
У меня все работает в Firefox подгружается файл Firefox.css во всех остальных template.css
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Спасибо огромное! Все заработало =) А в чем была ошибка?
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/тут не должно быть пробела
   <?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';

*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/тут не должно быть пробела
   <?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
Еще раз спасибо. Думаю надо подучить хотя бы основы php чтобы не допускать таких глупых ошибок в дальнейшем.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php
<?php
$doc =& JFactory::getDocument();
$browser = &JBrowser::getInstance();
$browserType = $browser->getBrowser();
$browserVersion = $browser->getMajor();
if(($browserType == 'msie') && ($browserVersion < 7))
{
   $doc->addStyleSheet( 'css/ie6.css' );

}
echo $browserType.'<br/>';
echo $browserVersion ;
?>
Есть встроенные функции определения броузеров и версий
И решение в вашем случае
Спойлер
[свернуть]
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Код: php
<?php
$doc =& JFactory::getDocument();
$browser = &JBrowser::getInstance();
$browserType = $browser->getBrowser();
$browserVersion = $browser->getMajor();
if(($browserType == 'msie') && ($browserVersion < 7))
{
   $doc->addStyleSheet( 'css/ie6.css' );

}
echo $browserType.'<br/>';
echo $browserVersion ;
?>
Есть встроенные функции определения броузеров и версий
И решение в вашем случае
Спойлер
[свернуть]

Предыдущий вариант мне больше показался удобным. Да и работает, что самое главное. А больше и не надо =) Но спасибо за ответ.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как подключить Bootstrap для одного дива?

Автор Виталик

Ответов: 7
Просмотров: 3059
Последний ответ 27.11.2012, 15:03:07
от Fedor Vlasenko