59

ターゲット URL が同じウィンドウで開くように、このコードを変更する簡単な方法はありますか?

<a href="javascript:q=(document.location.href);void(open('http://example.com/submit.php?url='+escape(q),'','resizable,location,menubar,toolbar,scrollbars,status'));">click here</a>``

4

8 に答える 8

82
<script type="text/javascript">
window.open ('YourNewPage.htm','_self',false)
</script>

参照を参照してください: http://www.w3schools.com/jsref/met_win_open.asp

于 2011-08-24T20:21:28.577 に答える
74

window.open()の 2 番目のパラメーターは、ターゲット ウィンドウの名前を表す文字列です。

「_self」に設定します。

<a href="javascript:q=(document.location.href);void(open('http://example.com/submit.php?url='+escape(q),'_self','resizable,location,menubar,toolbar,scrollbars,status'));">click here</a>


補足: 次の質問は、イベント ハンドラーを HTML リンクにバインドするためのおそらくより良い方法の概要を示しています。

リンクをjs関数に置き換える最良の方法は何ですか?

于 2008-11-06T05:21:18.840 に答える
7
<a href="javascript:;" onclick="window.location = 'http://example.com/submit.php?url=' + escape(document.location.href);'">Go</a>;
于 2008-11-06T05:16:02.830 に答える
3

これを試してみて、ie 7とie 8でうまくいきました

 $(this).click(function (j) {
            var href = ($(this).attr('href'));
            window.location = href;
            return true;
于 2011-07-19T13:26:06.070 に答える
1

では、href の末尾に URL を追加することで、各リンクが同じウィンドウで開くのでしょうか。おそらく、HTML 内で _BLANK を使用して同じことを行うこともできます。

于 2011-03-03T21:37:48.180 に答える
1

私があなただったら、少し違う見方をするでしょう。クリック時ではなく、ページの読み込み時にテキスト リンクを変更します。jQuery で例を示しますが、バニラ JavaScript でも簡単に実行できます (ただし、jQuery の方が優れています)。

$(function() {
    $('a[href$="url="]')    // all links whose href ends in "url="
        .each(function(i, el) {
            this.href += escape(document.location.href);
        })
    ;
});

HTML を次のように記述します。

<a href="http://example.com/submit.php?url=">...</a>

これの利点は、ユーザーが何をクリックしているかを確認できる (href が既に設定されている) ことと、HTML から JavaScript が削除されることです。

これはすべて、PHPを使用しているように見えます...サーバー側に追加してみませんか?

于 2008-11-06T06:24:48.417 に答える