2014-09-28 53 views
0

我們被教導要放在下面的腳本在<head>部分,有條件的IE 9我可以放在functions.php的IE條件語句 - WordPress的

<!--[if lt IE 9]> 
     <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 

如WordPress的我傾向於使用wp_enqueue_script()掛鉤腳本到wp_head()(默認)或wp_footer()。我的問題是:

(1)我們可以在WordPress主題中實現類似於以下的functions.php嗎?

function project_scripts(){?> 
    <!--[if lt IE 9]> 
    <?php 
    wp_enqueue_script('IE-scripts', 'http://html5shiv.googlecode.com/svn/trunk/html5.js'); 
    ?> 
    <![endif]--> 
<?php 
} 
add_action('wp_enqueue_scripts', 'project_scripts'); 

(2)如果是這樣,我可以做到這一點,否則:

function project_scripts(){ 
    echo '<!--[if lt IE 9]>'; 
    wp_enqueue_script('IE-scripts', 'http://html5shiv.googlecode.com/svn/trunk/html5.js'); 
    echo '<![endif]-->'; 
} 
add_action('wp_enqueue_scripts', 'project_scripts'); 

回答

2

號的JavaScript 不能包括IE條件句。

這是因爲IE條件是HTML註釋節點和,就像普通的HTML標記使得JavaScript源沒有意義,這樣的評論導致無效的JavaScript。

看看使用特徵檢測的方法如Modernizr可能是值得的。或者,可以使用IE條件將類添加到稍後可檢測到的元素as shown here