0

不是IE條件通常爲條件腳本加載我會寫一些像這樣的比IE8大或WordPress的

<!--[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的排隊功能,利用它的依賴關係。我知道,你可以寫條件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

你會把這在你的函數文件

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); 
+0

不是我想要什麼。我只想在瀏覽器大於IE8或不是IE的情況下才加載scriptsa.js。我只想在瀏覽器爲IE8或更低版本時才加載scriptsb.js。 –

+0

我明白你的意思了,相應地改變了答案 – Rich

+0

這個第一部分對我來說不起作用。 (猜測是因爲IE10和更多的一起忽略條件標記)解決方案是將'$ tag'更改爲:'$ tag =「<! - [if gt IE 8]> $ tag <! - 」; '。 –