关于AJAX成功的新标签中打开链接 - Javascript

时间:2016-02-26 07:50:18

标签: javascript jquery html ajax

我试图在调用成功方法后在新标签页面中打开一个链接。

因为我正在为该项目工作,所以我无法共享代码。但我正在分享我的情景。

HTML部分:

<button id="news" onclick="getNews()">Get News</button>
<a href="#" id="newTabLink" target="_blank" ></a>

Javascript部分

function getNews(){
    $.ajax({
         url: "controllerName/actionMethod", 
         success: function(result){

                    //Assigning url to href
                    $('#newTabLink').href(result.url);

                    // Clicking the hyperlink
                    $('#newTabLink').click();
                   }
  });

}

我的页面情景:

点击获取新闻按钮,如果有任何新闻,它将从数据库中获取新闻。否则,它会在 同一屏幕 上显示弹出窗口,例如&#34; 未找到新闻&#34;。

现在,如果有任何新闻存在,它将以ajax成功方式返回网址, 我想在新标签中打开 不在新窗口中

注意: 我不想在async:false设置中使用 ajax 。因为它会在响应来自服务器之前停止页面。

我尝试了什么:

我尝试在页面加载时创建超链接 静态 ),并在ajax上为该链接分配了href成功。分配href后,我点击了那个超链接。

我的问题:

在新窗口中打开,而不是在新标签中。

我想在没有 async:false 以及注意的新标签页中打开它, 我不想要在按钮单击的第一个位置打开新选项卡并设置超时 。这对我的项目来说会变得很尴尬。

2 个答案:

答案 0 :(得分:0)

来源target="_blank" opens a new window in IE9, instead of a new tab 可能会检查您的浏览器设置,target_blank这些天通常会打开一个新标签。 IE的解释 您需要使用target =“_ blank”属性在新窗口或选项卡中打开链接。实际打开链接的位置取决于浏览器设置。所以如果你有工具&gt;互联网选项&gt;选项卡式浏览设置&gt;选中“始终在新选项卡中打开弹出窗口”,将在新选项卡中打开target =“_ blank”链接。请注意,默认情况下,此类链接将在新窗口中打开。

答案 1 :(得分:0)

您可以查看链接http://getbootstrap.com/javascript/#tabs

Bootstrap docs。

$('#myTabs a[href="#profile"]').tab('show') // Select tab by name