IE7中的出列脚本仅使用unctions.php

时间:2014-02-12 作者:Sam

是否可以仅使用函数将IE7中的脚本出列。php?我以以下方式配置了脚本:

// JS
function scripts() {
  // Register scripts & styles
  wp_register_script( \'responsive_nav\', get_template_directory_uri() . \'/js/responsive-nav.js\', \'\', \'\', false );
  wp_register_script( \'initialize_lightbox\', get_template_directory_uri() . \'/js/initialize_lightbox.js\', \'jquery\', \'\', true );
  wp_register_script( \'lightbox\', get_template_directory_uri() . \'/js/lightbox.js\', \'jquery\', \'\', true );
  wp_register_style( \'lightbox_styles\', get_template_directory_uri() . \'/css/lightbox.css\', array(), \'\', \'all\' );

  // Enqueue
  wp_enqueue_script( \'responsive_nav\' );
  wp_enqueue_script( \'initialize_lightbox\' );
  wp_enqueue_script( \'lightbox\' );
  wp_enqueue_style( \'lightbox_styles\' );

}
add_action( \'wp_enqueue_scripts\', \'scripts\' );
谢谢!

鱿鱼

2 个回复
最合适的回答,由SO网友:Shazzad 整理而成

WordPress具有内置的浏览器检测机制。他们设置了一个全局变量$is_IE.

function scripts()
{
    global $is_IE;
    if( ! $is_IE ){
        // Register scripts & styles
        // Enqueue
    }
}
add_action( \'wp_enqueue_scripts\', \'scripts\' );

SO网友:Sagive

这里有一个很好的方法来检查你面对的IE版本

https://stackoverflow.com/a/1042194/915636

关于注销脚本的部分。。

here is an example:

$browser = get_browser();

if($browser->browser == \'IE\' && $browser->majorver == 6) {
    // DO NOTHING
} elseif($browser->browser == \'IE\' && $browser->majorver == 7) {
    wp_deregister_style(\'some_script_id\');
    wp_dequeue_style(\'some_script_id\');
}

结束