如何检查ios是否使用隐私浏览

use*_*235 4 javascript safari jquery ios

我的一个jquery插件存在问题,并且在ios中启用隐私浏览时会出现问题.

有没有办法检查这个?

ant*_*rna 12

在私人模式下,用户无法使用本地存储试试这个:

var storageTestKey = 'sTest',
    storage = window.sessionStorage;

try {
  storage.setItem(storageTestKey, 'test');
  storage.removeItem(storageTestKey);
} catch (e) {
  if (e.code === DOMException.QUOTA_EXCEEDED_ERR && storage.length === 0) {
    // private mode
  } else {
    throw e;
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 这是因为Safari和Chrome在私人会话期间以不同的方式处理存储的想法.当处于"隐身"模式时,Chrome仍会允许**临时**会话存储,而Safari会完全禁用访问权限.我更喜欢Chrome的实现,因为HTML5应用仍然可以缓存他们的文件/图像. (2认同)

Dan*_*con 5

我在GitHub上找到了Answear 并对其进行了测试:在IOS 11上工作!

var isPrivate = false;
try {
  window.openDatabase(null, null, null, null);
} catch (_) {
  isPrivate = true;
}
alert((isPrivate ? 'You\'re' : 'You aren\'t')  + ' in private browsing mode');
Run Code Online (Sandbox Code Playgroud)