我尝试将Conditionizr V4与WP网站一起使用,但无法使其正常运行。
我已经通过functions.php添加了JS文件,如下所示(是的,文件位于那里!):
wp_register_script('conditionizr', get_template_directory_uri() . '/assets/js/vendor/conditionizr.js', array(), '4.3.0'); // Conditionizr
wp_enqueue_script('conditionizr'); // Enqueue it!
然后我把它添加到我的header.php:
<?php wp_head(); ?>
<script>
// conditionizr.com
// configure environment tests
conditionizr.config({
assets: '<?php echo get_template_directory_uri(); ?>/assets/conditionizr/',
tests: {
'chrome':['class'],
'ie9': ['class'],
'ie8': ['class']
}
});
conditionizr.polyfill('//html5shiv.googlecode.com/svn/trunk/html5.js', ['ie6', 'ie7', 'ie8']);
</script>
</head>
但是当我检查源代码时,HTML标签中没有添加类?
此处链接:http://website-test-lab.com/sites/xpect/
我错过了什么或做错了什么?!提前致谢
答案 0 :(得分:1)
当我们重建Conditionizr时,版本4的变化大幅增加,并且不再打包检测到核心的一部分。这样测试更可靠,核心库只下降到1KB!
首先,检查您是否使用最新版本,抓住here。
其次,您需要添加这些测试,但需要将它们声明为以上 conditionizr.config()
:
Chrome(source):
conditionizr.add('chrome', [], function () {
return !!window.chrome && /google/i.test(navigator.vendor);
});
IE9(source):
conditionizr.add('ie9', [], function () {
return (Function('/*@cc_on return (/^9/.test(@_jscript_version) && /MSIE 9\.0(?!.*IEMobile)/i.test(navigator.userAgent)); @*/')());
});
IE8(source):
conditionizr.add('ie8', [], function () {
return (Function('/*@cc_on return (@_jscript_version > 5.7 && !/^(9|10)/.test(@_jscript_version)); @*/')());
});
对于版本4,您还可以选择是否使用配置模块声明哪些测试,或者是否可以更容易地将它们添加到空数组中,例如class
:
conditionizr.add('chrome', ['class'], function () {
return !!window.chrome && /google/i.test(navigator.vendor);
});