Check for HTML5 with JS

Check for HTML5 with JS

本文关键字:JS with HTML5 for Check      更新时间:2023-09-26

我有一个页面,其中包含一些JS来更新浏览器历史记录(pushState(),使用HTML5)。由于IE8不支持HTML5,用户被告知页面包含错误。虽然这并没有削弱页面的功能,但它看起来不太专业,所以我想知道是否有一个检查,看看用户的浏览器是否支持HTML5之前运行这段代码?

<script type="text/javascript">
/** Update history.state() (for back/forward links) */
var object = {
    ajax_string: '<?php echo make_ajax_string(); ?>',
    security: '<?php echo wp_create_nonce('updated-page-nonce'); ?>',
};
window.history.replaceState(object, '<?php echo $post->post_title; ?>', '<?php echo get_permalink($post->ID); ?>');
</script>

谢谢。

您可以在运行代码之前检查replaceState方法是否可用:

if(window.history.replaceState) {
    //Your code
}

如果replaceStateundefined(这将是在浏览器中不支持它的情况下),则语句计算为false,代码不执行

我建议使用Modernizr

您可以使用Modernizr检查新的HTML5历史api (pushState, replaceState, popState)是否被浏览器支持,或使用

我建议:

if (!!(window.history && history.replaceState)) {
    // has replaceState support
}