如何使用JavaScript检测Google Chrome浏览器隐身模式

@gnipbao 2018-09-13 07:19:30发表于 gnipbao/iblog javascriptjavascript how to

image

原理

利用开启隐身模式的chrome浏览器不能通过 requestFileSystem Api 访问系统文件的特点作为hack依据进行检测。

检测函数

/**
 * Determine wheter the incognito mode of Google Chrome is available or not.
 * 
 * @param callback Anonymous function executed when the availability of the incognito mode has been checked.
 */
function isIncognito(callback){
    var fs = window.RequestFileSystem || window.webkitRequestFileSystem;

    if (!fs) {
        callback(false);
    } else {
        fs(window.TEMPORARY,
            100,
            callback.bind(undefined, false),
            callback.bind(undefined, true)
        );
    }
}

How to use

isIncognito(function(itIs){
   if(itIs){
       console.log("我是隐身模式");
   }else{
       console.log("我不是隐身模式");
   }
});