ターゲット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>``
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>
Sidenote:次の質問は、イベントハンドラーをHTMLリンクにバインドするためのほぼ確実な方法の概要を示しています。
<script type="text/javascript">
window.open ('YourNewPage.htm','_self',false)
</script>
リファレンスを参照してください: http://www.w3schools.com/jsref/met_win_open.asp
<a href="javascript:;" onclick="window.location = 'http://example.com/submit.php?url=' + escape(document.location.href);'">Go</a>;
ここに私のために働いたものがあります:
<button name="redirect" onClick="redirect()">button name</button>
<script type="text/javascript">
function redirect(){
var url = "http://www.google.com";
window.open(url, '_top');
}
</script>
これを試してみてください、それはすなわち7と8で私のために働いた
$(this).click(function (j) {
var href = ($(this).attr('href'));
window.location = href;
return true;
Hrefの最後にURLを追加すると、各リンクは同じウィンドウで開きますか? HTML内で_BLANKを使用して同じことを行うこともできます。
もし私があなただったら、私はそれを少し違ったやり方でとるだろう。クリックではなく、ページの読み込み時にテキストリンクを変更します。 jQueryで例を示しますが、Vanilla 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を使用しているように見えますが、サーバー側に追加してみませんか?
試してみる
<a href="#"
onclick="location='http://example.com/submit.php?url='+escape(location)"
>click here</a>