2013-04-11 2 views
1

이 질문은 여러 번 질문되었지만 대부분의 질문은 오래된 질문입니다.자바 스크립트로 브라우저 기록을 가져 오는 중입니까?

내가 시도 여러 가지 기술 :

a:visited {} /* read computed style - always returns :link color*/ 
a:visited {} /* set height and measure that, turns out you can only set various colors */ 
a:link:after { content:"abc"} /* tried various styles */ 
/* the same restrictions apply when dealing with nested/child elements */ 

나는 사업부의 "스크린 샷"을 복용하고 그런 식으로 픽셀 색상을 얻기 위해 캔버스에 퍼팅 시도했습니다.

저는 앵커 위에서 반투명 div를 가리키며 어떻게 든 그것을 사용하여 색상을 측정한다고 생각했습니다.

스니핑을 원하는 사이트에서 스타일 시트를로드하려고 시도했지만 (첫 번째/두 번째/...로드에서) 걸리는 시간을 측정했지만 결과가 이상합니다. 로컬 캐시 된 것보다 네트워크를 통해 실제로 더 빠름).

<script> 
    var t = new Date().getTime(); 
</script> 
<link id="test" rel="stylesheet" type="text/css" href="http://l.yimg.com/zz/combo?nn/lib/metro/g/breakingnews/breakingnews_0.0.49.css" /> 
<script> 
    document.getElementById("test").onload = function() {    var ft = ((new Date().getTime()) - t) + "ms"; 
     alert(ft); 
    }; 
</script> 

모질라는 이러한 보안 제한 here의 이유와 괜찮나을 설명합니다.

히스토리 스니핑은 완전히 불가능하며 그렇다면 표준/허용/사용자에게 친숙한 방법이 있습니까?

+3

사용자에게 친숙한 브라우저 개인 정보 침해? –

+0

사용자 친화적 인 솔루션은 합법적이어야합니다. 그러나 악용 해결책은 무엇이든 될 수 있습니다. – user1873073

+0

(1) ex id = "mytest"로 숨겨진 테스트 div를 만들고 html DOM에 넣었습니다. (2) 새 CSS "#mytest a : visited {...}"를 3) 새로운 "a"DOM 요소를 만들고, (4) href를 스 니프하려는 사이트의 URL로 설정하고, (5) div에 추가 한 다음 (6) 해당 스타일이 테스트되었는지 확인합니다 방문했거나하지 않았습니까?나는 그 방법을 여기에서 찾아 냈다 : http://stackoverflow.com/questions/1584850/is-it-possible-to-get-anchor-visited-state-from-javascript – Ricola3D

답변

1

의견이 강조되면 개인 정보 침해로 인해 브라우저의 기록 정보를 얻을 수 없습니다 (적어도 브라우저를 설계 한 경우는 제외).

일부 제한된 옵션이있다 :

  • history 객체 갖는다 back, forward 및 는 전후, 현재 윈도우 또는 프레임에 대한 탐색 length 방법; 쿠키 (또는 세션)를 사용하여 x = window.history[0]
  • 등의 작업을 수행 할 수 없습니다 귀하의 사이트에 탐색 기록 을 유지할 수 있고, 사용자 친화적 인 기능에 대한 정보에 의존하므로하지만 (개인 정보 보호 다시)는, 제한 읽을 수 쿠키/세션 데이터를 읽는 사이트로 이동합니다.
  • 중앙 사이트를 통해 모든 링크를 리디렉션하고 기록을 기록하는 다중 링크 버전과 방문 링크에 대한 기능을 제공하는 javascript 라이브러리를 호스팅하는 사이트를 상상할 수 있습니다. 그것은 여전히 ​​역사를 유지하기 위해 중앙 위치를 통해 리디렉션되는 모든 링크에 의존합니다. 따라서 해당 사이트는 동의하는 사이트에만 적용됩니다.
1

@boisvert가 지적한대로 개인 정보 침해입니다. 한때 가능했지만 최근 브라우저 버전에는 없습니다. localStorage에서 클릭 한 링크를 저장하고 나중에 확인하는 것이 좋습니다. 100 % 효과가있는 것은 아니지만 브라우저에서 자바 스크립트를 사용하면 절대 100 %가 아닙니다.

사이트 노드로 또는 서버 측에서 할 수도 있습니다. 100 % 효과적입니다.

관련 문제