【问题标题】:Open Link in New Tab on AJAX success - Javascript在 AJAX 成功的新选项卡中打开链接 - Javascript
【发布时间】:2016-02-26 07:50:17
【问题描述】:

我正在尝试在调用成功方法后在新选项卡中打开一个链接。

由于我正在为该项目工作,因此无法共享代码。但我正在分享我的场景。

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();
                   }
  });

}

我的页面场景:

单击获取新闻按钮后,如果有任何新闻,它将从数据库中获取新闻。否则,它将在同一屏幕上显示一个弹出窗口,如“未找到新闻”。

现在,如果有任何消息,它会在 ajax 成功方法中返回 URL,我想在新标签中打开它不是在新窗口中

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

我尝试了什么:

我尝试在页面加载时创建 超链接静态),并在 ajax 成功的链接中分配了 href。分配 href 后,我单击该超链接。

我的问题:

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

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

【问题讨论】:

标签: javascript jquery html ajax


【解决方案1】:

来源target="_blank" opens a new window in IE9, instead of a new tab 可能是检查您的浏览器设置,target_blank 这些天通常会打开一个新标签。 IE的解释 您需要使用 target="_blank" 属性使链接在新窗口或选项卡中打开。链接实际打开的位置取决于浏览器设置。因此,如果您选择了“工具”>“Internet 选项”>“选项卡式浏览设置”>“始终在新选项卡中打开弹出窗口”,则 target="_blank" 链接将在新选项卡中打开。请注意,在大多数浏览器上,这种类型的链接默认会在新窗口中打开。

【讨论】:

    【解决方案2】:

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

    引导文档。

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

    【讨论】:

    • 我不明白你。你能解释一下吗?
    • 你能简单解释一下你的情况吗?如果单击“a”按钮,则会显示选项卡属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 2012-04-25
    • 2020-12-11
    • 2019-03-18
    • 2016-10-11
    • 1970-01-01
    • 2013-11-11
    相关资源
    最近更新 更多