Tôi đã đọc trên các tài liệu WP, trong đó chỉ ra ý chính này rằng cách chính xác để chinh phục các kiểu cho IE là bằng cách sử dụng $wp_styles
. Tôi đoán rằng điều này cũng đúng với các kịch bản.
Lấy những ví dụ này chẳng hạn ...
Tùy chọn Một - Sử dụngwp_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' );
} );
Tùy chọn Hai - Sử dụng wp_scripts
cùng vớiis_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' );
}
} );
Tùy chọn ba - Chỉ cần lặp lại nó trong đầu:
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";
});
Lựa chọn thứ tư - Enqueue nó vào đầu:
add_action('wp_print_scripts', function(){
wp_enqueue_script( 'html5shiv', 'https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js', array( 'bootstrap' ) );
});
Tùy chọn thứ hai. Có vẻ mát mẻ vì nó trông gọn gàng hơn trên các trình duyệt không phải IE. Nhưng tôi không chắc liệu nó thực sự có lợi thế về tốc độ hay nếu kiểm tra một mình làm chậm nó nhiều hơn. Ngoài ra, tôi dường như không thể tìm ra bất kỳ lý do nào tại sao tùy chọn một tốt hơn tùy chọn 3 hoặc 4.
Lý do cho câu hỏi này
Tôi đang sử dụng khung Genesis và chúng bao gồm HTML5shiv như ví dụ bên dưới mà dường như không đúng với tôi:
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";
}