js检测Google Chrome浏览器隐身模式

2019-08-132971次阅读javascript

所有现代浏览器都存在隐身或隐私浏览。此模式可帮助人们避免不需要的cookie及有状态跟踪器。网站只需要尝试使用FileSystem API,用于存储临时(window.TEMPORARY)或永久文件(window.PERSISTENT)时来获取文件系统状态来区分。Chrome的隐身模式下已禁用此API。

var fs = window.RequestFileSystem || window.webkitRequestFileSystem;
if (!fs) {
    console.log("检查失败?");
} else {
    fs(window.TEMPORARY,100,function(){
        console.log('不是隐身模式');
    },function(){
        console.log('在chorme隐身模式下');
    });
}

 

Window.requestFileSystem()

Window.requestFileSystem()方法是谷歌浏览器内核用来让web站点或app获得通过沙箱访问文件系统 . 它返回 FileSystem 然后就可以和 file system APIs 一起使用了。

语法

在所有支持它的浏览器中这个方法都有webkit前缀 (实际上也仅有谷歌浏览器支持)

window.requestFileSystem(type, size, successCallback[, errorCallback]);

参数

  • type:要请求的存储类型. 指定Window.TEMPORARY 浏览器自行决定要不要删除文件, 例如低内存, 或者Window.PERSISTENT 如果你需要文件保持在这个地方必须用户或站点或app明确许可. 持久存储要求用户授予站点配额。
  • size:你希望你的app被允许的使用空间大小。
  • successCallback:成功获取文件系统时调用的函数。回调接收单个参数: 一个 FileSystem 表示应用程序有权使用的文件系统的对象。
  • errorCallback(可选):一个可选参数,指定在试图获取文件系统时发生错误或用户拒绝创建或访问文件系统的权限时调用的函数。回调接收单个参数作为输入:一个FileError用来描述错误的对象。

如果上述方法还不能解决你的需求,不妨参考一下这里

上一篇: 为什么Vuex的mutation和Redux的reducer中不能做异步操作  下一篇: 中国/省市区/三级联动/地址数据  

js检测Google Chrome浏览器隐身模式相关文章