1
ユーザーがプライベートブラウザでウェブサイトを表示しているかどうかを検出しようとしています。私は以下のコード/フィドルがChromeやFirefoxでは使えますが、Safariでは動作しません。 Safariの問題点を誰にでも見られますか?前もって感謝します。プライベートブラウジングを検出する - Safariの問題
new Promise(resolve => {
let db,
on =() => alert('yes'),
off =() => alert('no'),
tryls =() => {
try {
localStorage.length ? off() : (localStorage.x = 1, localStorage.removeItem("x"), off())
} catch (e) {
on()
}
}
// Blink
window.webkitRequestFileSystem ?
webkitRequestFileSystem(window.TEMPORARY, 1, off, on)
// FF
: "MozAppearance" in document.documentElement.style ?
(db = indexedDB.open("test"), db.onerror = on, db.onsuccess = off)
// Safari
: /constructor/i.test(window.HTMLElement) ?
tryls()
// IE10+ & edge
: !window.indexedDB && (window.PointerEvent || window.MSPointerEvent) ?
on()
// Rest
: off()
}).then(enabled => {
document.body.innerHTML = enabled
})
https://jsfiddle.net/ndyL5mxf/
これはもうSafari 11.0では機能しません – lustoykov