[apple] (어떻게) 웹 사이트에서 Safari 개인 브라우징이 켜져 있는지 확인할 수 있습니까?

Mavericks의 Safari에서 개인 브라우징 모드를 끄지 않으면 일부 사이트 기능이 차단되거나 성능이 저하 될 것이라는 대화 상자가 웹 사이트에서 때때로 나타납니다. 대부분의 사용자는 개인 정보 보호 브라우징을 비공개로 사용할지 여부를 선택할 것으로 예상합니다. 다른 주요 브라우저는 개인 브라우징 상태를 웹 사이트로 유출하지 않습니다.

개인 브라우징 모드에있는 동안 Safari는 파비콘을 요청하지 않으므로 이론적으로 사이트는 파비콘의 캐싱을 차단하고 개인 브라우징이 켜져있는 것으로 추측 할 수 있습니다.

반대로 iOS에서 Safari는 즐겨 찾기 아이콘을 전혀 요청하지 않습니다. 그러나 개인 정보 보호 브라우징 모드에서도 공유 패널에 액세스하면 “애플 터치 아이콘”을 요청합니다 (애플 터치 아이콘은 나중에 “홈 화면에 추가”하면 홈 화면 아이콘으로 사용됨) URL).

즐겨 찾기 아이콘 외에, 웹 사이트가 데스크탑 Safari에서 개인 브라우징 모드를 사용하고 있다고 판단 할 수있는 다른 알려진 방법이 있습니까?



답변

iOS에서 HTML5의 로컬 저장소는 비공개 브라우징 모드에서 사용할 수 없습니다. 즉, 로컬 저장소에 무언가를 저장하려고 시도하고 다음 JavaScript로 예외를 포착하여이를 감지 할 수 있습니다.

try { localStorage.test = 2; } catch (e) {
  alert('You are in Private Browsing mode');
}

https://stackoverflow.com/a/17741714/ 에서 수정 됨

OS X에는 정식 방법이 없지만 유용한 정보를 제공해야합니다.

구현 지침을 찾고 있다면 대신 스택 오버플로를 시도해야합니다.


답변

Safari의 개인 브라우징은 다른 브라우저 개인 브라우징 과 같은 방식으로 작동하지 않습니다 .

예를 들어 Chrome의 시크릿 모드는 탐색 세션 후에 모든 데이터가 삭제되는 별도의 새 세션을 만듭니다 (웹 사이트는 해당 모드의 IP 주소에서 작업을 추적 할 수 있음).

Safari는 웹 사이트에서 파일을 로컬로 작성 / 작성하는 것을 금지하고 있지만이 탐색 세션 동안 브라우저의 활동을 포함하여 쿠키에 대한 모든 변경 사항을 버립니다 (웹 사이트는이 세션에서 쿠키를 저장 한 것을 제외하고는이 모드에서 활동을 추적 할 수 있음) 버림).

그렇다면 개인 브라우징을 켰는 지 웹 사이트는 어떻게 알 수 있습니까? 파일을 로컬로 쓸 수 있는지 확인하기 때문 입니다.


답변