我正在用新的wordpress 4.7检查这个特定的语法:
<!--[if gte IE 9]><!-->
<script type="text/javascript">
(function() {
var request, b = document.body, c = 'className', cs = 'customize-support', rcs = new RegExp('(^|\\s+)(no-)?'+cs+'(\\s+|$)');
request = true;
b[c] = b[c].replace( rcs, ' ' );
// The customizer requires postMessage and CORS (if the site is cross domain)
b[c] += ( window.postMessage && request ? ' ' : ' no-' ) + cs;
}());
</script>
<!--<![endif]-->
我有点困惑,想知道我是否遗漏了什么。它不应该是:
<!--[if gte IE 9]>
<script type="text/javascript">
(function() {
var request, b = document.body, c = 'className', cs = 'customize-support', rcs = new RegExp('(^|\\s+)(no-)?'+cs+'(\\s+|$)');
request = true;
b[c] = b[c].replace( rcs, ' ' );
// The customizer requires postMessage and CORS (if the site is cross domain)
b[c] += ( window.postMessage && request ? ' ' : ' no-' ) + cs;
}());
</script>
<![endif]-->
在第一行中使用空注释并在另一个注释标记中使用endif的逻辑是什么?
答案 0 :(得分:1)
它应该隐藏IE8及更低版本的内容。
如果它使用了您建议的第二种代码,那么它将隐藏所有不支持条件注释的浏览器中的内容。也就是说,它会使代码可用于IE9,而不是别的。
请注意,评论会在<!--
和-->
之间延伸,而不是在<!--
和>
之间。那里没有空评论。另请参阅:突出显示Stackoverflow的语法。