2012-12-19 2 views
4

페이지에 링크가 있습니다. 사용자가 링크를 클릭하면 정적 HTML 페이지가로드됩니다. 사용자가 동일한 정적 HTML 문서의 두 번째 인스턴스를 시작하지 못하도록하고 싶습니다.로드 중 두 번째 정적 HTML 페이지 방지

정적 HTML 페이지에서 일부 자바 스크립트를 사용한다고 생각합니다. 기본적으로 스크립트가 정적 HTML 문서의 인스턴스가 이미로드되어 있음을 감지하면 자바 스크립트 팝업은 사용자에게 '문서가 이미로드되었습니다'라고 표시합니다 (이와 비슷한 내용).

아무튼 Java 스크립트는 누군가가이 되거주십시오 수 있다면 나의 장점은 너무 궁금

+0

동일한 출처가 아닌 경우 불가능합니다. : D – Ryan

+2

'target' 속성을 사용해 보셨나요? – Bergi

답변

0

이 크로스 브라우저이지만, 크롬에서 작동하는지 잘 모르겠어요 :.

var wins = {}; 
var anchors = document.getElementsByTagName('a'); 
for(var i=0, len=anchors.length; i<len; i++) { 
    anchors[i].onclick = function(e) { 
     e.preventDefault(); 
     var href = this.href; 
     if(wins[href]) { 
      wins[href].focus(); 
     } else { 
      wins[href] = window.open(href); 
     } 

    } 
} 

http://jsbin.com/ivabax/1/edit

+0

위의 Bergi의 의견을 보았고 이것이 필요하지 않다는 것을 알았습니다. 마크 업에 대한 간단한'target' 속성은 동일한 결과를 줄 것입니다. – bfavaretto

0

당신을 loggi를 구현할 수있다. 클릭 한 각 링크를 추적하고 현재 사용자에 대한 세션을 유지하는 기능입니다. 링크가 이미 클릭 된 경우 "죄송합니다.이 링크는 이미 액세스되었습니다."라는 방화벽 창을 표시 할 수 있습니다.

그래서 사용자가 클릭하게 될 하이퍼 링크는 문제의 URL로 계속 진행하기 전에 추적 메커니즘을 먼저 수행합니다 (또는 허용되지 않음).