网上大部分的文章写隐身模式下 localStorage 对象不可用,直接以 localStorage 能否写入来判断浏览器是否处于隐身模式其实是错的,在隐身模式下localStorage也是能使用的,但这时候它会有sessionStorage一样,当用户关闭标签栏时就会被清除

js检查浏览器是否处于隐身模式

http://htmlui.com/blog/2011-08-23-5-obscure-facts-about-html5-localstorage.html

 

正确的判断方法:

在隐身模式下真正不能用的是 FileSystem api,所以我们通过这个api来判断就可以了,具体代码如下

<script type="text/javascript">
var fs = window.RequestFileSystem || window.webkitRequestFileSystem;
if (!fs) {
  console.log("check failed?");
} else {
  fs(window.TEMPORARY,100,function(){
      alert('非隐身模式');
  },function(){
      alert('隐身模式');
  });
}
</script>

 

http://stackoverflow.com/questions/2909367/can-you-determine-if-chrome-is-in-incognito-mode-via-a-script#answer-27805491

 

完。

相关文章:

  • 2021-08-31
  • 2021-07-13
  • 2021-11-27
  • 2021-11-13
  • 2021-08-05
  • 2022-02-07
  • 2022-12-23
  • 2021-11-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-19
  • 2021-11-19
  • 2021-07-30
相关资源
相似解决方案