JavaScript判断浏览器是否处于无痕模式
JavaScriptChrome评论 1大约 2109 字Chrome
版本74
前
!function () {
let fs = window.RequestFileSystem || window.webkitRequestFileSystem;
if (!fs) {
console.log("check failed?");
} else {
fs(window.TEMPORARY, 100, function () {
console.log('FileSystem#非无痕模式')
}, function () {
console.log('FileSystem#无痕模式');
});
}
}();
版本74
-84.0.4147.135
!function () {
if ('storage' in navigator && 'estimate' in navigator.storage) {
navigator.storage.estimate().then(function (estimate) {
if (estimate.quota < 120000000) {
console.log('storage无痕模式');
} else {
console.log('storage#非无痕模式');
}
});
} else {
console.log('storage#此浏览器版本无法检测是否无痕');
}
}();
使用临时存储限制判断
try {
/*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);
}
);*/
navigator.webkitTemporaryStorage.queryUsageAndQuota(
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);
}
);
} catch (e) {
console.log("window.webkitStorageInfo error#" + e.toLocaleString())
}
Safari
/**
* Safari浏览器判断是否无痕模式
*/
!function () {
let isPrivate = false;
try {
window.openDatabase(null, null, null, null);
} catch (_) {
isPrivate = true;
}
console.log("Safari是否无痕模式#" + isPrivate)
}()
备注
以上方法也可用于移动端。
参考
阅读 522 · 发布于 2020-09-21
————        END        ————
扫描下方二维码关注公众号和小程序↓↓↓

昵称:
- 一枚假程序猿1楼
Safari测试未通过
Chrome Generic | Win1012天前
随便看看换一批
- Java jdbc批处理rewriteBatchedStatements=true阅读 590
- Nginx开启HTTP2.0阅读 435
- JavaScript使用MD5加密支持中文阅读 655
- Android MediaMetadataRetriever获取多媒体文件信息阅读 1514
- Elasticsearch使用filter和range过滤器搜索阅读 639
- HTML中用CSS实现搜索框内添加搜索图片阅读 769
- Android判断通知栏是否可用阅读 461
- Android RadioButton选中改变颜色阅读 2066
- 软考-系统架构设计师:数据仓库与数据挖掘阅读 446
- Golang命令之go env阅读 3246