我在頁面上有一個鏈接。當用戶點擊鏈接時,會加載一個靜態HTML頁面。我想阻止用戶啓動同一靜態HTML文檔的第二個實例。防止加載第二個靜態HTML頁面
我想在靜態HTML頁面中的一些JavaScript可能會做。基本上,如果腳本檢測到已經加載了靜態HTML文檔的實例,那麼JavaScript彈出框會向用戶指示「文檔已被加載」(類似這樣的內容)。
無論如何,Java腳本是不是我的強項所以想知道,如果有人可以請一些線索這光
我在頁面上有一個鏈接。當用戶點擊鏈接時,會加載一個靜態HTML頁面。我想阻止用戶啓動同一靜態HTML文檔的第二個實例。防止加載第二個靜態HTML頁面
我想在靜態HTML頁面中的一些JavaScript可能會做。基本上,如果腳本檢測到已經加載了靜態HTML文檔的實例,那麼JavaScript彈出框會向用戶指示「文檔已被加載」(類似這樣的內容)。
無論如何,Java腳本是不是我的強項所以想知道,如果有人可以請一些線索這光
我不知道這是否是跨瀏覽器,但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);
}
}
}
現在我在上面看到了Bergi的評論,並認識到這不是必要的。標記上的一個簡單的'target'屬性會給出相同的結果。 – bfavaretto
你可以實現一個loggi ng功能可跟蹤每個被點擊的鏈接併爲當前用戶維護一個會話。如果鏈接已被點擊,則可以顯示防火牆窗口,其中顯示「對不起,此鏈接已被訪問」。
因此,用戶點擊的超鏈接會在被允許(或不允許)繼續訪問相關網址之前先打到跟蹤機制。
如果他們不是來自同一個來源,那是不可能的! :D – Ryan
您是否嘗試過使用'target'屬性? – Bergi