4

I have a link on a page. When the user clicks the link a static HTML page loads. I would like to prevent the user from launching a second instance of the same static HTML document.

I'm thinking some javascript up front in the static HTML page might do. Basically if the script detects that there is already an instance of the static HTML document loaded then a Javascript pop-up would indicate to the user that 'document is already loaded" (something like that).

Anyhow, Java script is not my strong point so wondering if someone can please shed some light on this.

4

2 に答える 2

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

于 2012-12-19T03:22:51.080 に答える
0

クリックされた各リンクを追跡し、現在のユーザーのセッションを維持するロギング機能を実装できます。リンクが既にクリックされている場合は、「申し訳ありませんが、このリンクは既にアクセスされています」というファイアウォール ウィンドウを表示できます。

したがって、ユーザーがクリックするハイパーリンクは、問題の URL に進むことが許可される (または許可されない) 前に、最初に追跡メカニズムにヒットします。

于 2013-04-24T02:35:15.337 に答える