在Wordpress中大于IE8或不是IE条件

时间:2015-04-15 05:03:27

标签: wordpress internet-explorer-8 cross-browser conditional-statements

通常对于条件脚本加载,我会写一些像这样的

<!--[if gt IE 8]><!-->
    <script src="<?php echo get_stylesheet_directory_uri(); ?>/js/scripts.js"></script>
<!--<![endif]-->
<!--[if lt IE 9]>
    <script src="<?php echo get_stylesheet_directory_uri(); ?>/js/scripts-ie8.min.js"></script>
<![endif]-->

但是,我想使用Wordpress&#39;排队函数以利用其依赖关系。我知道你可以写条件like this

wp_enqueue_style( 'so27214782_ie', get_template_directory_uri() . '/ie.css', array(), '27214782', 'all' );

$wp_styles->add_data( 'so27214782_ie', 'conditional', 'IE 6' );

但是,我不知道如何将此应用于我的案例。你如何在最后一个声明中定位gt IE8 | !IE

1 个答案:

答案 0 :(得分:1)

你可以把它放在你的函数文件中

wp_enqueue_script( 'scriptsa', get_template_directory_uri() . '/scriptsa.js', array(), '1.0.0', false );
add_filter( 'script_loader_tag', function( $tag, $handle ) {
    if ( $handle === 'scriptsa' ) {
        $tag = "<!--[if gt IE 8]><!-->$tag<!--<![endif]-->";
    }
    return $tag;
}, 10, 2 );

wp_enqueue_script( 'scriptsb', get_template_directory_uri() . '/scriptsb.js', array(), '1.0.0', false );
add_filter( 'script_loader_tag', function( $tag, $handle ) {
    if ( $handle === 'scriptsb' ) {
        $tag = "<!--[if lte IE 8]>$tag<![endif]-->";
    }
    return $tag;
}, 10, 2 );