2012-12-19 41 views
4

我在頁面上有一個鏈接。當用戶點擊鏈接時,會加載一個靜態HTML頁面。我想阻止用戶啓動同一靜態HTML文檔的第二個實例。防止加載第二個靜態HTML頁面

我想在靜態HTML頁面中的一些JavaScript可能會做。基本上,如果腳本檢測到已經加載了靜態HTML文檔的實例,那麼JavaScript彈出框會向用戶指示「文檔已被加載」(類似這樣的內容)。

無論如何,Java腳本是不是我的強項所以想知道,如果有人可以請一些線索這光

+0

如果他們不是來自同一個來源,那是不可能的! :D – Ryan

+2

您是否嘗試過使用'target'屬性? – Bergi

回答

0

我不知道這是否是跨瀏覽器,但Chrome的工作:

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 ng功能可跟蹤每個被點擊的鏈接併爲當前用戶維護一個會話。如果鏈接已被點擊,則可以顯示防火牆窗口,其中顯示「對不起,此鏈接已被訪問」。

因此,用戶點擊的超鏈接會在被允許(或不允許)繼續訪問相關網址之前先打到跟蹤機制。