0

私は次のように持ってhrefいます:

<a class="eLink" href="http:www.abc.com">chk here xyz</a></li>

「eLink」のJavaScriptは次のとおりです。

$("a.eLink").click(function link(evt) {
        url = evt.target.href;

        if (url.toString().toLowerCase().indexOf(".gov") <= 0) {

            var tk = "Do you really want to continue?";

            if (confirm(tk)) {
                window.open(url, 'newwin');
            }
        }
        else
        { window.open(url, 'newwin'); }

        return false;
    });
});

ここで、ハイパー リンクをクリックすると、「本当に続行しますか?」というメッセージが表示されます。「はい」をクリックすると、ターゲット ページ「abc.com」を含む新しいブラウザが開き、現在のブラウザも「 abc.com」。現在のブラウザが同じページに残り、ターゲットブラウザ「abc.com」が新しいページで開き、「いいえ」をクリックするとブラウザが同じページに残るようにコードを変更したい。確認ボックスを備えたプレーンなJavaScriptでそれらを使用しようとしましたが、問題は、このコードを使用する必要がある場所であり、回避したいJavaScriptで外部ブラウザリンクを指定する必要があることです。私が望むことを達成するために上記のスクリプトに簡単な変更はありますか?

4

3 に答える 3

1

私のために働いているhttp://jsfiddle.net/8vKvT/

于 2012-04-19T17:14:47.613 に答える
1
$("a.eLink").click(function link(evt) {
    url = evt.target.href;

    if (url.toString().toLowerCase().indexOf(".gov") <= 0) {

        var tk = "Do you really want to continue?";

        if (confirm(tk)) {
            window.open(url, 'newwin');
        } else {
            window.open(url, '_self');
        }
    }
    else
    {
        window.open(url, 'newwin');
    }

    return false;
});
于 2012-04-19T17:14:55.277 に答える
1

現在のウィンドウ/タブを参照するには、'_self' を使用します。詳細については、 http://www.w3schools.com/jsref/met_win_open.aspを参照してください。

$("a.eLink").click(function link(evt) {
    url = evt.target.href;

    if (url.toString().toLowerCase().indexOf(".gov") <= 0) {

        var tk = "Do you really want to continue?";

        if (confirm(tk)) {
            window.open(url, 'newwin');
        }
    }
    else
    { window.open(url, '_self'); } // open in same tab/page

    return false;
 });
});


// if you click yes, redirect, if no, then do nothing
if (confirm(tk)) {
   window.open(url, 'newwin');
} else {
   return false; // do nothing
}
于 2012-04-19T17:11:54.820 に答える