Javascript:同じウィンドウで新しいページを開く
-
06-07-2019 - |
質問
ターゲット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番目のパラメーターは、ターゲットウィンドウの名前を表す文字列です。
&quot; _self&quot;に設定します。
<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リンクにバインドするためのほぼ間違いなく優れた方法の概要を示します。
他のヒント
<script type="text/javascript">
window.open ('YourNewPage.htm','_self',false)
</script>
<a href="javascript:;" onclick="window.location = 'http://example.com/submit.php?url=' + escape(document.location.href);'">Go</a>;
これを試してみてください。つまり、7と8で動作しました
$(this).click(function (j) {
var href = ($(this).attr('href'));
window.location = href;
return true;
これは私のために働いたものです:
<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>
もし私があなただったら、少し違ったやり方をするでしょう。クリックではなく、ページの読み込み時にテキストリンクを変更します。 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を使用しているように見えます...サーバー側に追加してみませんか?
では、hrefの最後にURLを追加すると、各リンクが同じウィンドウで開きますか? HTML内で_BLANKを使用して同じことを行うこともできます。
試用
<a href="#"
onclick="location='http://example.com/submit.php?url='+escape(location)"
>click here</a>
所属していません StackOverflow