Есть ли способ поставить php внутри условных комментариев IE - PullRequest
3 голосов
/ 12 апреля 2011

У меня есть раздел php, который загружает jquery через wordpress из API Google. Я не хочу загружать jquery в браузерах IE. Короче говоря, по какой-то причине это не работает (вы можете прочитать мои другие опубликованные вопросы).

Или, если это невозможно, есть другой способ НЕ использовать этот код в браузере IE, возможно, решение php.

<?php 
    if( !is_admin()){
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2', true);
        wp_enqueue_script('jquery');
    }

?>

Нацеливается на все, кроме IE (что я пытался использовать, но это не сработало):

<!--[if !IE]><!-->
<!--<![endif]-->

Ответы [ 3 ]

4 голосов
/ 12 апреля 2011

У вас есть глобальный $ is_IE в Wordpress.

3 голосов
/ 12 апреля 2011

Нет. Возможно, вы захотите определить браузер в блоке PHP как альтернативное решение. Что-то вроде:

$browser = get_browser();
if ($browser->browser == 'MSIE') {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2', true);
        wp_enqueue_script('jquery');
    }
}

Или используя глобальную переменную $is_IE, как в ответе Николая Йорданова:

if ($is_IE) {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2', true);
        wp_enqueue_script('jquery');
    }
}
1 голос
/ 12 апреля 2011

Краткий ответ: нет.

Длинный ответ: условные комментарии IE относятся к клиентской части, а PHP - к серверной, поэтому не будут работать.

Возможное решение: http://php.net/manual/en/function.get-browser.php (или, согласно одному из уже опубликованных ответов, WordPress предоставляет глобальную переменную $ is_IE)

...