简体   繁体   中英

Is there a way to put php inside of a IE conditional comments

I have a php section that loads jquery through wordpress from google's api. I dont want to load jquery on IE browsers. Long story short, it doesn't work for whatever reason (you can read through my other posted questions).

Or if this is not possible is there another way to NOT use this code when its an IE browser, maybe a php solution.

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

?>

Targets everything except IE (what i was trying to use, but it didnt work):

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

你在Wordpress中拥有全局$ is_IE。

No. You'd probably want to detect the browser in a PHP block as an alternative solution. Something like:

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

Or using the $is_IE global variable as in Nikolay Yordanov's answer:

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

Short answer: no.

Long answer: IE conditional comments are client side, while PHP is server side, so it won't work.

Possible solution: http://php.net/manual/en/function.get-browser.php (or according to one of the answers already posted, wordpress provides a $is_IE global)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM