Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Визначення браузера в wordpress

Нещодавно при роботі над моїм новим блогом про typo3 виникли невеликі труднощі з шаблоном Нещодавно при роботі над моїм новим блогом про typo3 виникли невеликі труднощі з шаблоном. Справа в тому, що там використовуються якісь скрипти, які з тексту роблять картинки - виглядає досить красиво, тому я вирішив не прибирати. Складність полягає у тому, що під Internet Explorer ця опція працює не до кінця і посилання «натискається» тільки при наведення на літери заголовка статті, а між ними або, наприклад, всередині букви «о» лінк не хоче ніяк реагувати. Загалом, вирішив додати в кінці анонсу статті посилання "Читати далі" , Але виводити її тільки для IE. Коротше кажучи, у нас виникає завдання визначення браузера користувача в wordpress.

Читати далі

Як це часто буває, варіантів вирішення завдання є кілька. Наводжу вам все, а ви вже вирішуйте самі який з них найбільш оптимальний і відповідний.

1. По-перше, можна згадати класичних CSS хак для підключення таблиці стилів спеціально для Internet Explorer.

<! - [IF IE 6]> <link rel = "stylesheet" type = "text / css" media = "screen" href = "css / cssf-ie6.css" /> <! [Endif] ->

<! - [IF IE 6]> <link rel = "stylesheet" type = "text / css" media = "screen" href = "css / cssf-ie6.css" /> <! [Endif] ->

Його досить часто використовують верстальники. Так ось в цьому css файлі можна задати стиль для посилання, що контролював її відображення. Використовується при цьому властивість display: none; Точніше воно саме посилання приховує, а в ИЕ потрібно було б навпаки її показувати. В принципі, напевно, можна навіть стиль прописати в HEAD для шаблону без підключення зайвих файлів стилів.

2. Автор проекту maxsite пропонує дещо інший метод, але схожий на перший - написати функцію визначення браузера. Наприклад, можна використовувати такий код:

function maxsite_testIE () {$ user_agent = $ _SERVER [ 'HTTP_USER_AGENT']; $ BrowserIE = false; if (stristr ($ user_agent, 'MSIE 7.0')) $ browserIE = true; // IE7 if (stristr ($ user_agent, 'MSIE 6.0')) $ browserIE = true; // IE6 if (stristr ($ user_agent, 'MSIE 5.0')) $ browserIE = true; // IE5 return $ browserIE; }

function maxsite_testIE () {$ user_agent = $ _SERVER [ 'HTTP_USER_AGENT']; $ BrowserIE = false; if (stristr ($ user_agent, 'MSIE 7.0')) $ browserIE = true; // IE7 if (stristr ($ user_agent, 'MSIE 6.0')) $ browserIE = true; // IE6 if (stristr ($ user_agent, 'MSIE 5.0')) $ browserIE = true; // IE5 return $ browserIE; }

Розміщує функцію в файл functions.php, а потім в будь-який файл шаблону, в залежності від того, де потрібно виводити текст або перевіряти умова браузера, додаємо рядки:

<? Php if (maxsite_testIE ()) {echo '<a href = "http://www.mozilla-europe.org/ru/products/firefox/"> суттєвої шкоди себе! <br /> Установи нормальний браузер! &lt; / a> '; }?>

<? Php if (maxsite_testIE ()) {echo '<a href = "http://www.mozilla-europe.org/ru/products/firefox/"> суттєвої шкоди себе! <br /> Установи нормальний браузер! &lt; / a> '; }?>

3. В принципі, нічого складного. Перші 2 методи цілком могли б використовуватися для блогів і сайтів wordpress, якби не наявність вбудованого механізму визначення браузера в самому wordpress. Багатьом даний факт невідомий, тому вони придумують різні методи вирішення поставленого завдання. але деякі «Умільці» знайшли в коді або в документації системи глобальні змінні, що відповідають за різні браузери:

  • * $ Is_lynx
  • * $ Is_gecko
  • * $ Is_IE
  • * $ Is_winIE
  • * $ Is_macIE
  • * $ Is_opera
  • * $ Is_NS4
  • * $ Is_safari
  • * $ Is_chrome
  • * $ Is_iphone

За замовчуванням ці змінні встановлені в False і приймають значення True як тільки завантажується сторінка сайту використовує той чи інший браузер. Не дивлячись на те, що змінні не підтримують визначення різних версій браузерів, вони в моєму випадку дуже згодяться.

Залишається тільки зайти в файл шаблону блогу і додати умови перевірки браузера по типу такого:

<? Php if ($ is_IE) {?&gt; <Div class = "fullpost"> <a href=" <?php the_permalink () ?&gt; "> Читати далі» </a> </ div> <? Php}? >

<? Php if ($ is_IE) {?&gt; <Div class = "fullpost"> <a href="<?php the_permalink() ?&gt; "> Читати далі» </a> </ div> <? Php}? >

Зберігаємо і тестуємо його працездатність. У моєму випадку все пройшло якнайкраще, wordpress сама відмінно впоралася з визначенням браузера і потрібна задача була вирішена. Ось так ось іноді система приємно дивує.

PS Постовий. Одна з кращих настільних ігор - грошовий потік - гра економічної бізнес тематики.
Пошукова контекстна реклама - ефективний метод просування сайтів.

Lt; / a> '; }?
Lt; / a> '; }?
Php if ($ is_IE) {?
Gt; <Div class = "fullpost"> <a href=" <?
Php the_permalink () ?
Gt; "> Читати далі» </a> </ div> <?
Php}?
Php if ($ is_IE) {?
Gt; <Div class = "fullpost"> <a href="<?
Php the_permalink() ?

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.