web-dev-qa-db-ja.com

同じウィンドウで同じタブでURLを開く

同じウィンドウ内、およびリンクのあるページを含む同じタブ内にリンクを開きたい。

window.openを使用してリンクを開こうとすると、同じウィンドウの同じタブではなく、新しいタブで開きます。

285
user1065055

Name属性を使う必要があります。

window.open("https://www.youraddress.com","_self")

編集 :URLの前にプロトコルを付けます。それがなければ、相対URLを開こうとします。 Chrome 59、Firefox 54、およびIE 11でテスト済み。

490
vdbuilder

これを使って:

location.href = "http://example.com";
146
Dave L.

リンクが確実に同じタブで開かれるようにするには、window.location.replace()を使用する必要があります。

以下の例を見てください。

window.location.replace("http://www.w3schools.com");

ソース: http://www.w3schools.com/jsref/met_loc_replace.asp

34
andromeda

URLを指定せずに同じページに移動できます。

window.open('?','_self');
21
Tom Berthold

あなたのページが "frame"の中にあるならば "Window.open( 'logout.aspx'、 '_ self')"

同じフレーム内にリダイレクトされます。だから使用して

"Window.open('logout.aspx','_top')"

新しいリクエストとしてページを読み込むことができます。

18
Magesh

最も有名なjavascript機能の1つは、onclickハンドラをその場で起動することです。私は以下のメカニズムがlocation.href=''location.reload()あるいはwindow.openを使うよりも信頼性が高いことがわかりました。

// this function can fire onclick handler for any DOM-Element
function fireClickEvent(element) {
    var evt = new window.MouseEvent('click', {
        view: window,
        bubbles: true,
        cancelable: true
    });

    element.dispatchEvent(evt);
}

// this function will setup a virtual anchor element
// and fire click handler to open new URL in the same room
// it works better than location.href=something or location.reload()
function openNewURLInTheSameWindow(targetURL) {
    var a = document.createElement('a');
    a.href = targetURL;
    fireClickEvent(a);
}

上記のコードは、新しいタブ/ウィンドウを開き、すべてのポップアップブロックを回避するのにも役立ちます。例えば。

function openNewTabOrNewWindow(targetURL) {
    var a = document.createElement('a');
    a.href = targetURL;

    a.target = '_blank'; // now it will open new tab/window and bypass any popup blocker!

    fireClickEvent(a);
}
10
Muaz Khan

リンクをクリックするなどして別のURLを開く

window.location.href = "http://example.com";
10
DarckBlezzer

window.openを使う必要がありますか? window.location="http://example.com"を使うことについてはどうですか?

7
Jeffrey Zhao

window.open(url, wndname, params)、それは3つの引数を取ります。同じウィンドウで開きたくない場合は、別のwndnameを設定してください。といった :

window.open(url1, "name1", params); // this open one window or tab
window.open(url1, "name2", params); // though url is same, but it'll open in another window(tab).

これがwindow.open()についての詳細です、あなたはそれを信頼することができます!
https://developer.mozilla.org/en/DOM/window.open

試してみる~~

5
ijse

Html 5では history API を使うことができます。

history.pushState({
  prevUrl: window.location.href

}, 'Next page', 'http://localhost/x/next_page');
history.go();

それから、次のページであなたはそう状態オブジェクトにアクセスすることができます

let url = history.state.prevUrl;
if (url) {
  console.log('user come from: '+ url)
}
2
Adi Prasetyo

まさにこのようなwindow.open("www.youraddress.com","_self")です

1
thanglv

それはとても簡単です。最初のウィンドウをwindow.open(url, <tabNmae>)として開く

例:window.open("abc.com",'myTab')

そして次のすべてのwindow.openには、_self_parentなどの代わりに 同じタブ名 を使います。

1
Samit
   Just Try in button.

   <button onclick="location.reload();location.href='url_name'" 
   id="myButton" class="btn request-callback" >Explore More</button>

   Using href 

  <a href="#" class="know_how" onclick="location.reload();location.href='url_name'">Know More</a> 
1