美文网首页
判断浏览器是否无痕

判断浏览器是否无痕

作者: 尤格萨隆 | 来源:发表于2020-07-13 16:48 被阅读0次

    注:网上流传的FileSystem API方法在chrome74版本已失效

    1. 此方法仅适用于https
    if ('storage' in navigator && 'estimate' in navigator.storage) {
        navigator.storage.estimate().then(function(estimate) {
          if (estimate.quota < 120000000) {
            console.log('无痕模式');
          } else {
            console.log('非无痕模式');
          }
        });
      } else {
        console.log('此浏览器版本无法检测是否无痕');
      }
    
    1. 此方法http也可以使用,但是浏览器会报warning
    window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.TEMPORARY,
        function(used, remaining) {
          console.log("Used quota: " + used + ", remaining quota: " + remaining);
          if (remaining < 120000000) {
            console.log('无痕模式');
          } else {
            console.log('非无痕模式');
          }
        }, function(e) {
          console.log('Error', e); 
        }
      );
    

    原理:TEMPORARY隐身模式和非隐身模式之间的存储配额的主要区别在于,在隐身模式下,存在一个硬限制,120MB而非隐身窗口则没有。从下表可以明显看出,在非隐身模式下,临时存储配额小于120MB时,设备存储必须小于2.4GB。但是,出于所有实际目的,可以安全地假设当前使用的大多数设备具有超过2.4GB


    不同磁盘大小的设备可用的最小存储配额

    兼容性:支持chrome、opera、搜狗、qq、360;不支持safari,Firefox,IE,Edge

    相关文章

      网友评论

          本文标题:判断浏览器是否无痕

          本文链接:https://www.haomeiwen.com/subject/bkzacktx.html