ターゲット 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>``
ターゲット 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>``
<script type="text/javascript">
window.open ('YourNewPage.htm','_self',false)
</script>
参照を参照してください: http://www.w3schools.com/jsref/met_win_open.asp
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 リンクにバインドするためのおそらくより良い方法の概要を示しています。
<a href="javascript:;" onclick="window.location = 'http://example.com/submit.php?url=' + escape(document.location.href);'">Go</a>;
これを試してみて、ie 7とie 8でうまくいきました
$(this).click(function (j) {
var href = ($(this).attr('href'));
window.location = href;
return true;
では、href の末尾に URL を追加することで、各リンクが同じウィンドウで開くのでしょうか。おそらく、HTML 内で _BLANK を使用して同じことを行うこともできます。
私があなただったら、少し違う見方をするでしょう。クリック時ではなく、ページの読み込み時にテキスト リンクを変更します。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を使用しているように見えます...サーバー側に追加してみませんか?