当前位置 : 主页 > 网络编程 > JavaScript >

判断是否支持浏览器 BrowerHistory

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt // 判断是否是浏览器环境,node 环境没有 window 对象。浏览器环境返回 true,否则返回 falsevar inBrowser = typeof window !== 'undefined'; var supportsPushState = inBrowser (function () { // 获取浏览
gistfile1.txt
// 判断是否是浏览器环境,node 环境没有 window 对象。浏览器环境返回 true,否则返回 false
var inBrowser = typeof window !== 'undefined';      

var supportsPushState = inBrowser && (function () {
  // 获取浏览器信息:'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'
  var ua = window.navigator.userAgent;

  // 判断浏览器是 pc 端还是手机端,这里过滤掉手机端
  if (
    (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&
    ua.indexOf('Mobile Safari') !== -1 &&
    ua.indexOf('Chrome') === -1 &&
    ua.indexOf('Windows Phone') === -1
  ) {
    return false
  }

  return window.history && 'pushState' in window.history
})();

/**
关键判断就下面一句代码:pushState 是 BrowerHistory 中新增的 API,它存在就说明能用
'pushState' in window.history
*/
网友评论