有没有办法把PHP放在IE条件评论中

时间:2011-04-12 19:36:33

标签: php internet-explorer wordpress conditional-comments

我有一个php部分,通过google的api中的wordpress加载jquery。我不想在IE浏览器上加载jquery。长话短说,它无论出于何种原因都不起作用(你可以阅读我发布的其他问题)。

或者,如果这是不可能的,那么当它的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 个答案:

答案 0 :(得分:4)

你在Wordpress中拥有全局$ is_IE。

答案 1 :(得分:3)

没有。您可能希望在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全局变量,如Nikolay Yordanov的回答:

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');
    }
}

答案 2 :(得分:1)

简答:不。

长答案:IE条件注释是客户端,而PHP是服务器端,所以它不起作用。

可能的解决方案:http://php.net/manual/en/function.get-browser.php(或根据已发布的答案之一,wordpress提供$ is_IE全局)