似乎适用于iOS 11和相应Safari版本的旧检测方法不再起作用。
我已经尝试过以下脚本:https://gist.github.com/cou929/7973956
但这不适用于iOS 12上的野生动物园,也不适用于iOS 12上的Chrome69。
这个非常新的库也不适用于iOS 12浏览器:
https://github.com/Maykonn/js-detect-incognito-private-browsing-paywall
那么iOS 12浏览器有什么解决方案吗?
BostonGlobe似乎有解决方案,但我不知道他们是如何做到的:
https://www.bostonglobe.com/sports/redsox/2018/10/09/redsox/D66J59viZ1qxyZlhI18l8L/story.html
(如果您想以隐身/私人模式阅读BostonGlobe.com文章,则会显示一个屏幕,要求您登录)
答案 0 :(得分:2)
Chrome Devtools =>用于检测隐身/私人模式的模块称为{<1>}
中的“ 检测-私人浏览”webpack:///./~/detect-private-browsing/index.js
答案 1 :(得分:1)
//FOR IOS 12
var e = false;
if (window.localStorage && /Safari/.test(window.navigator.userAgent)) {
if (window.safariIncognito) {
e = true;
} else {
try {
window.openDatabase(null, null, null, null);
window.localStorage.setItem("test", 1)
} catch (t) {
e = true;
alert("PRIVATE");
}
}
void !e && (e = !1, window.localStorage.removeItem("test"))
}