2

ajaxの成功で新しいタブでリンクを開こうとしていますが、リンクは新しいウィンドウで開きます。jqueryまたはjavascriptを使用して、クロムの新しいウィンドウではなくタブでリンクを強制的に開く方法。

コード:

$("#A1").click(function (event) {
    $.ajax({ 
        type: "POST", 
        url: "Home.aspx/btnTestProject", 
        data: "{'preview':'" + inventory + "' }", 
        contentType: "application/json; charset=utf-8", 
        datatype: "json", 
        cache: false, 
        success: function (response) { 
            window.open("TestnRun.aspx"); //opens in new window 
        }    
    }); 

    window.open("TestnRun.aspx"); //opens in new tab 
});
4

3 に答える 3

2

一般に、それを制御することはできません。これは、target="_blank" を含むリンクを新しいウィンドウまたはタブで開くユーザー設定であるためです。

ブラウザーが css-3 を完全にサポートし始めると、将来的に次のオプションが提供されます。

http://www.w3.org/TR/2004/WD-css3-hyperlinks-20040224/#target-new

これを使用できます:

#anchorId { target-new: tab ! important }
于 2012-04-05T07:49:43.880 に答える
2

私は同じものを見ました。

そして、私はそれを指摘しました(私はjquery.1.9.1を使用しています):

$.ajax を async で呼び出すか、% ブラウザ (Chrome) を NEW WINDOW で開くか、JSON 呼び出しSYNCを実行すると、タブ付きのウィンドウが開きます。

これは、新しいウィンドウ、ポップアップで開きます。

  $.ajax({ url: "/cliFindExist/", 
    async: true, 
    function(data){... 
    window.open("some.aspx","_blank")});

この開いているウィンドウはTABBEDです

$.ajax({ url: "/cliFindExist/", 
async: false, // <<<<<<<<<<<<< NOTE
function(data){... 
window.open("some.aspx","_blank")});

JQueryは、関数を呼び出すときに方法/コンテキストを変更できますか? 同期呼び出しを実行するか非同期呼び出しを実行するかによって異なります。

于 2013-06-06T16:52:02.053 に答える
1

このようにターゲット「_blank」を使用します

<a href="http://www.google.it" target="_blank">My link</a>

またはこのようなJavascriptを使用して

<button onclick="window.open('http://www.google.it','_blank')">Button</button>
于 2012-04-05T07:47:53.437 に答える