Genesis Framework 2内置了对加载html5shiv的支持。js,使用genesis\\uhtml5\\uie\\ufix函数(/lib/js/load scripts.php)
我将函数发布在下面。它应该在文档的头部打印一条条件注释,目标是IE 8及更低版本
用任何其他浏览器加载网站时,注释存在于文档的头部。当我尝试用IE8加载它时,整个额外的块都消失了,因此IE8无法理解HTML5标记。
如果我删除了条件注释,只保留了脚本标记,那么它可以正常工作,但额外的脚本正在为所有浏览器下载。
看起来IE8在解析评论时一定有问题,或者怎么了?
*然而,我不得不说,我只是通过IE11模拟器检查IE8(不确定这是否会影响情况以及如何影响)。
add_action( \'wp_head\', \'genesis_html5_ie_fix\' );
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";
}
最合适的回答,由SO网友:Morgan Estes 整理而成
根据Microsoft\'s docs, 使用条件注释显示和隐藏内容的语法是不同的,因此,由于您试图只使用(显示)IE8及以下版本的脚本(而不是隐藏),因此echo
语句应更改为:
echo \'<![if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]>\' . "\\n";
对条件注释的支持以IE10结束,因此也可能是IE8兼容性视图实际上没有使用支持CCs的旧引擎呈现页面。