Ich habe in den WP-Dokumenten gelesen, die darauf hinwiesen, dass der richtige Weg, Stile für den IE in die Warteschlange zu stellen , die Verwendung von ist $wp_styles
. Ich vermute, dass dies dann auch für Skripte gilt.
Nehmen Sie diese Beispiele zum Beispiel ...
Option Eins - Verwendenwp_scripts
add_action('wp_print_scripts', function() {
global $wp_scripts;
wp_enqueue_script( 'html5shiv', 'https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js', array( 'bootstrap' ) );
$wp_scripts->add_data( 'html5shiv', 'conditional', 'lt IE 9' );
} );
Option Zwei - Verwenden Sie wp_scripts
zusammen mitis_IE
add_action('wp_print_scripts', function() {
global $wp_scripts, $is_IE;
if($is_IE) {
wp_enqueue_script( 'html5shiv', 'https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js', array( 'bootstrap' ) );
$wp_scripts->add_data( 'html5shiv', 'conditional', 'lt IE 9' );
}
} );
Option Drei - Echo es einfach im Kopf:
add_action('wp_head', function(){
echo '<!--[if lt IE 9]><script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script><![endif]-->' . "\n";
});
Option 4 - In die Warteschlange einführen:
add_action('wp_print_scripts', function(){
wp_enqueue_script( 'html5shiv', 'https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js', array( 'bootstrap' ) );
});
Die zweite Option. scheint cool zu sein, weil es in Nicht-IE-Browsern etwas sauberer aussieht. Aber ich bin mir nicht sicher, ob es tatsächlich einen Geschwindigkeitsvorteil hat oder ob die Prüfung allein ihn mehr verlangsamt. Abgesehen davon kann ich keinen Grund herausfinden, warum Option eins besser ist als Option 3 oder 4.
Der Grund für diese Frage
Ich verwende das Genesis-Framework und sie enthalten HTML5shiv wie das folgende Beispiel, das mir einfach nicht richtig erschien:
add_action( 'wp_head', 'genesis_html5_ie_fix' );
/**
* Load the html5 shiv for IE8 and below. Can't enqueue with IE conditionals.
*/
function genesis_html5_ie_fix() {
if ( ! genesis_html5() )
return;
echo '<!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->' . "\n";
}