防止加载第二个静态HTML页面

时间:2012-12-19 02:54:00

标签: javascript

我在页面上有一个链接。当用户单击链接时,会加载静态HTML页面。我想阻止用户启动相同静态HTML文档的第二个实例。

我正在考虑静态HTML页面中的一些javascript可能会做。基本上,如果脚本检测到已经加载了静态HTML文档的实例,那么Javascript弹出窗口将向用户指示“文档已经加载”(类似于此)。

无论如何,Java脚本不是我的强项,所以想知道是否有人能够对此有所了解。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以实施一项记录功能,该功能可跟踪所点击的每个链接并维护当前用户的会话。如果已经点击了该链接,那么您可以在防火墙窗口显示“抱歉,此链接已被访问”。

因此,在允许(或不允许)继续使用相关URL之前,用户单击的超链接将首先点击跟踪机制。