Abrir um URL numa página nova (e não numa janela nova) usando o JavaScript

estou a tentar abrir um URL numa nova página, em vez de uma janela de contexto. Já vi perguntas relacionadas em que as respostas pareceriam algo como:

window.open(url,'_blank');
window.open(url);
Mas nenhum deles funcionou comigo, o navegador ainda tentou abrir uma janela instantânea.

 1651
Author: Quentin, 2011-02-05

27 answers

Nada que um autor possa fazer pode optar por abrir numa página nova em vez de uma janela nova. É uma preferência de utilizador .

O CSS3 proposto alvo-novo, mas a especificação foi abandonada.

O reverso não é verdadeiro; ao indicar as dimensões da janela no terceiro argumento de window.open, poderá activar uma nova janela quando a preferência for pelas Páginas.

 722
Author: Quentin, 2016-04-04 10:01:39
Isto é um truque.
function openInNewTab(url) {
  var win = window.open(url, '_blank');
  win.focus();
}

Na maioria dos casos, isto deve acontecer diretamente no manipulador {[[2]} para o link para evitar bloqueadores pop-up, e o comportamento padrão de "nova janela". Você poderia fazê-lo desta forma, ou adicionando um ouvinte de eventos ao seu objeto DOM.

<div onclick="openInNewTab('www.test.com');">Something To Click On</div>

Http://www.tutsplanet.com/open-url-new-tab-using-javascript-196/

 1304
Author: Rinto George, 2017-02-28 04:50:42

window.open() não irá abrir numa página nova se não estiver a acontecer no evento actual. No exemplo dado o URL está sendo aberto no evento real clique. Isto irá funcionar desde que o utilizador tenha as configurações adequadas no navegador.

<a class="link">Link</a>
<script  type="text/javascript">
     $("a.link").on("click",function(){
         window.open('www.yourdomain.com','_blank');
     });
</script>

Da mesma forma, se estiver a tentar fazer uma chamada Ajax dentro da função click e quiser abrir uma janela sobre o sucesso, certifique-se que está a fazer a chamada Ajax com a opção async : false definida.

 320
Author: Venkat Kotra, 2017-05-27 00:23:16

window.open não é possível abrir de forma fiável Popups numa página nova em todos os navegadores

Diferentes navegadores implementam o comportamento de window.open de diferentes maneiras, especialmente no que diz respeito às preferências do navegador de um usuário. Você não pode esperar o mesmo comportamento para window.open para ser verdadeiro em todos os Internet Explorer, Firefox, e Chrome, por causa das diferentes maneiras em que eles lidam com as preferências de navegador de um usuário.

Por exemplo, os usuários do Internet Explorer (11) podem escolher para abrir popups em uma nova janela ou uma nova Página, Você não pode forçar os usuários do Internet Explorer 11 a abrir popups de uma certa forma através window.open, como referido na resposta do Quentin. Quanto aos utilizadores do Firefox (29), utilizando window.open(url, '_blank') depende das preferências de tabulação do seu navegador, embora ainda possa obrigá-los a abrir popups numa nova janela, especificando uma largura e uma altura (veja "e o Chrome?" abaixar).

Demonstração

Vá para o seu configuração do navegador e configure-o para abrir os popups numa nova janela.

Internet Explorer (11)

Internet Explorer settings dialog 1

Internet Explorer tab settings dialog

Página De Ensaio

Depois de configurar o Internet Explorer (11) para abrir popups numa nova janela, como demonstrado acima, use a seguinte página de teste para testar window.open:

<!DOCTYPE html>
<html>
  <head>
    <title>Test</title>
  </head>

  <body>
    <button onclick="window.open('https://stackoverflow.com/q/4907843/456814');">
      <code>window.open(url)</code>
    </button>
    <button onclick="window.open('https://stackoverflow.com/q/4907843/456814', '_blank');">
      <code>window.open(url, '_blank')</code>
    </button>
  </body>
</html>

Observe que os popups são abertos numa janela nova, não numa página Nova.

Também pode testar esses excertos acima no Firefox (29) com sua preferência de tabulação definida para novas janelas, e ver os mesmos resultados.

E O Cromado? Ele implementa window.open diferentemente do Internet Explorer (11) e Firefox (29).

Não tenho 100% de certeza, mas parece que o Chrome (versão 34.0.1847.131 m) não parece ter nenhuma configuração que o utilizador possa usar para escolher se deve ou não abrir popups numa nova janela ou numa nova página (como o Firefox e o Internet Explorer têm). Eu verifiquei a documentação cromada para gerir pop-ups , mas não mencionou nada sobre esse tipo de coisas.

Também, mais uma vez, diferentes navegadores parecem implementar o comportamento de window.open diferente. No Chrome e Firefox, especificar a largura e a altura vai forçar uma pop-up, mesmo quando um usuário tiver definido o Firefox (29) para abrir novas janelas em uma nova guia (como mencionado nas respostas para JavaScript abrir em uma nova janela, não guia):

<!DOCTYPE html>
<html>
  <head>
    <title>Test</title>
  </head>

  <body>
    <button onclick="window.open('https://stackoverflow.com/q/4907843/456814', 'test', 'width=400, height=400');">
      <code>window.open(url)</code>
    </button>
  </body>
</html>

No entanto, o mesmo excerto de código acima irá sempre abrir uma nova página no Internet Explorer 11 se os utilizadores definirem as páginas como Preferências do seu navegador, nem sequer indicar uma largura e altura irá forçar uma nova janela a aparecer para eles.

Assim, o comportamento de window.open no Chrome parece ser abrir os popups numa nova página quando usado num evento onclick, para os Abrir em janelas novas quando usadas na consola do navegador (como observado por outras pessoas ), e para os Abrir em janelas novas quando especificadas com uma largura e uma altura.

Resumo

Diferentes navegadores implementam o comportamento de window.open diferentemente no que diz respeito às preferências do navegador dos utilizadores. Você não pode esperar o mesmo comportamento para window.open para ser verdadeiro em todos os Internet Explorer, Firefox, e Chrome, por causa das diferentes maneiras em que eles lidam com as preferências de navegador de um usuário.

Leitura Adicional

 226
Author: Peter Mortensen, 2017-05-27 00:28:30

Uma linha:

Object.assign(document.createElement('a'), { target: '_blank', href: 'URL_HERE'}).click();

Ou

Com jQuery estou a usar este:

var url = "http://google.com";
$("<a>").attr("href", url).attr("target", "_blank")[0].click();

Cria um elemento virtual a, dá-lhe target="_blank" por isso abre numa nova página, dá-lhe o devido url href e depois clica.

E se quiseres, com base nisso podes criar alguma função:

function openInNewTab(url) {
    $("<a>").attr("href", url).attr("target", "_blank")[0].click();
}

E depois podes usá-lo como:

openInNewTab("http://google.com");

Para um cenário não-jQuery , a função seria assim:

function openInNewTab(url) {
    var a = document.createElement("a");
    a.target = "_blank";
    a.href = url;
    a.click();
}

// And then
openInNewTab("http://google.com");
 150
Author: pie6k, 2018-01-05 12:05:42
Para elaborar a resposta de Steven Spielberg, fiz isto num caso destes.
$('a').click(function() {
  $(this).attr('target', '_blank');
});

Desta forma, pouco antes do navegador seguir a ligação que estou a definir o atributo de destino, por isso fará a ligação abrir numa nova página ou janela (depende da configuração do utilizador).

 55
Author: arikfr, 2017-05-27 00:18:46

Se utilizar window.open(url, '_blank'), será bloqueado (bloqueador popup) no Chrome.

Tenta isto:

$('#myButton').click(function () {
    var redirectWindow = window.open('http://google.com', '_blank');
    redirectWindow.location;
});
 53
Author: Mohammed Safeer, 2017-05-27 00:34:14

Eu uso o seguinte e funciona muito bem!!!

window.open(url, '_blank').focus();
 31
Author: Ezequiel García, 2017-05-27 00:35:14

Um facto interessante é que a nova página não pode ser aberta se a acção não for invocada pelo utilizador (ao carregar num botão ou assim) ou se for assíncrona, por exemplo, isto não irá abrir na nova página:

$.ajax({
    url: "url",
    type: "POST",
    success: function() {
        window.open('url', '_blank');              
    }
});

Mas isto pode abrir numa página Nova, dependendo da configuração do navegador:

$.ajax({
    url: "url",
    type: "POST",
    async: false,
    success: function() {
        window.open('url', '_blank');              
    }
});
 16
Author: karaxuna, 2014-02-23 20:10:50
Acho que não podes controlar isto. Se o utilizador tiver configurado o seu navegador para abrir as ligações numa nova janela, não poderá forçar isto a abrir as ligações numa nova página.

JavaScript abre numa nova janela, não numa página

 14
Author: Fran Verona, 2017-05-23 11:55:01

Se omitir apenas os parâmetros [strWindowFeatures] irá abrir uma nova página, a menos que a configuração do navegador se sobreponha (a configuração do navegador sobrepõe-se ao JavaScript).

Nova janela

var myWin = window.open(strUrl, strWindowName, [strWindowFeatures]);

Página Nova

var myWin = window.open(strUrl, strWindowName);

-- or --

var myWin = window.open(strUrl);
 12
Author: MannyC, 2017-05-27 00:31:49
(function(a){
document.body.appendChild(a);
a.setAttribute('href', location.href);
a.dispatchEvent((function(e){
    e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
    return e
}(document.createEvent('MouseEvents'))))}(document.createElement('a')))
 10
Author: spirinvladimir, 2013-10-19 09:27:06
Podes usar um truque com form:
$(function () {
    $('#btn').click(function () {
        openNewTab("http://stackoverflow.com")
        return false;
    });
});

function openNewTab(link) {
    var frm = $('<form   method="get" action="' + link + '" target="_blank"></form>')
    $("body").append(frm);
    frm.submit().remove();
}

Demonstração do JsFiddle

 10
Author: CodeNinja, 2017-05-27 00:34:52

Isto não tem nada a ver com a configuração do navegador Se estiver a tentar abrir uma página nova a partir de uma função personalizada.

Nesta página, abra uma consola de JavaScript e escreva:

document.getElementById("nav-questions").setAttribute("target", "_blank");
document.getElementById("nav-questions").click();

E ele vai tentar abrir um popup independentemente das suas configurações, porque o 'clique' vem de uma ação personalizada.

Para se comportar como um verdadeiro 'clique do rato' num link, você precisa seguir o conselho de@spirinvladimir e realmente crie-o:

document.getElementById("nav-questions").setAttribute("target", "_blank");
document.getElementById("nav-questions").dispatchEvent((function(e){
  e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
                    false, false, false, false, 0, null);
  return e
}(document.createEvent('MouseEvents'))));
Toma. is a complete example (do not try it on jsFiddle or similar online editors, as it will not let you redirect to external pages from there):
<!DOCTYPE html>
<html>
<head>
  <style>
    #firing_div {
      margin-top: 15px;
      width: 250px;
      border: 1px solid blue;
      text-align: center;
    }
  </style>
</head>
<body>
  <a id="my_link" href="http://www.google.com"> Go to Google </a>
  <div id="firing_div"> Click me to trigger custom click </div>
</body>
<script>
  function fire_custom_click() {
    alert("firing click!");
    document.getElementById("my_link").dispatchEvent((function(e){
      e.initMouseEvent("click", true, true, window, /* type, canBubble, cancelable, view */
            0, 0, 0, 0, 0,              /* detail, screenX, screenY, clientX, clientY */
            false, false, false, false, /* ctrlKey, altKey, shiftKey, metaKey */
            0, null);                   /* button, relatedTarget */
      return e
    }(document.createEvent('MouseEvents'))));
  }
  document.getElementById("firing_div").onclick = fire_custom_click;
</script>
</html>
 9
Author: chipairon, 2017-05-23 12:34:45

Ou podes criar um elemento de ligação e clicar nele...

var evLink = document.createElement('a');
evLink.href = 'http://' + strUrl;
evLink.target = '_blank';
document.body.appendChild(evLink);
evLink.click();
// Now delete it
evLink.parentNode.removeChild(evLink);
Isto não deve ser bloqueado por bloqueadores popup... Felizmente.
 1
Author: Luke Alderton, 2013-11-06 17:22:24

Se é algo que está apenas a tentar carregar no elemento, tente usar isto. Na carga da página, irá adicionar a sua propriedade de destino com o atributo correcto.

$(your_element_here).prop ("alvo", "_blank");

 1
Author: HeroZero, 2018-05-25 23:16:17
Há uma resposta para esta pergunta e não é não.
Encontrei um trabalho fácil.

Passo 1: Criar uma ligação invisível:

<a id="yourId" href="yourlink.html" target="_blank" style="display: none;"></a>

Passo 2: Carregue nessa ligação programaticamente:

document.getElementById("yourId").click();

Aqui está! Funciona bem para mim.
 1
Author: ALZlper, 2018-09-21 19:37:53

Que tal criar um <a> com _blank como target o valor do atributo e o url como href, com a apresentação do estilo:escondido com um elemento infantil? Em seguida, adicionar ao DOM e, em seguida, desencadear o evento clique em um elemento crianças.

Actualizar

Isso não funciona. O navegador evita o comportamento padrão. Pode ser activado programaticamente, mas não segue o comportamento padrão.

Verifique e veja por si mesmo: http://jsfiddle.net/4S4ET/

 0
Author: Victor, 2017-05-27 00:25:08

Este trabalho para mim, basta prevenir o evento, adicionar a url a um <a> tag em seguida, active o evento click nesse tag.

Js
$('.myBtn').on('click', function(event) {
        event.preventDefault();
        $(this).attr('href',"http://someurl.com");
        $(this).trigger('click');
});
HTML
<a href="#" class="myBtn" target="_blank">Go</a>
 0
Author: Carlos Salazar, 2017-11-02 02:23:05

Abrir uma nova página de dentro de uma extensão Firefox (Mozilla) é assim:

gBrowser.selectedTab = gBrowser.addTab("http://example.com");
 -1
Author: Smile4ever, 2014-09-23 16:32:24

Desta forma é semelhante à solução acima, mas implementada de forma diferente

.social_icon- > alguma classe com CSS

 <div class="social_icon" id="SOME_ID" data-url="SOME_URL"></div>


 $('.social_icon').click(function(){

        var url = $(this).attr('data-url');
        var win = window.open(url, '_blank');  ///similar to above solution
        win.focus();
   });
 -1
Author: CG_DEV, 2015-05-27 16:09:38

Isto pode ser um hack, mas no Firefox se você especificar um terceiro parâmetro, 'fullscreen=Yes', ele abre uma nova janela.

Por exemplo,

<a href="#" onclick="window.open('MyPDF.pdf', '_blank', 'fullscreen=yes'); return false;">MyPDF</a>

Parece realmente sobrepor-se à configuração do navegador.

 -1
Author: Kunal, 2017-05-27 00:30:26

Indique um alvo por omissão para todas as hiperligações e formulários numa página (Não-JavaScript):

<head>
  <base target="_blank">
</head>
 -3
Author: rhodesit, 2017-05-27 00:38:27

Eu vou concordar um pouco com a pessoa que escreveu (parafraseado aqui): "para um link em uma página web existente, o navegador sempre abrirá o link em uma nova página se a nova página é parte do mesmo site que a página web existente. Para mim, pelo menos, esta "regra geral" funciona em Chrome, Firefox, Opera, IE, Safari, SeaMonkey, e Konqueror.

De qualquer forma, há uma maneira menos complicada de aproveitar o que a outra pessoa apresentou. Supondo que estamos a falar de TI sítio web próprio ("thissite.com" abaixo), onde você quer controlar o que o navegador faz, então, abaixo, você quer " página especial.htm " para estar vazio, nenhum HTML em tudo nele (economiza tempo enviando dados do servidor!).
 var wnd, URL;  //global variables

 //specifying "_blank" in window.open() is SUPPOSED to keep the new page from replacing the existing page
 wnd = window.open("http://www.thissite.com/specialpage.htm", "_blank"); //get reference to just-opened page
 //if the "general rule" above is true, a new tab should have been opened.
 URL = "http://www.someothersite.com/desiredpage.htm";  //ultimate destination
 setTimeout(gotoURL(),200);  //wait 1/5 of a second; give browser time to create tab/window for empty page


 function gotoURL()
 { wnd.open(URL, "_self");  //replace the blank page, in the tab, with the desired page
   wnd.focus();             //when browser not set to automatically show newly-opened page, this MAY work
 }
 -4
Author: vernonner3voltazim, 2014-06-23 06:21:23

Se você só quiser abrir os links externos (links que vão para outros sites) então este bit de JavaScript / jQuery funciona bem:

$(function(){
    var hostname = window.location.hostname.replace('www.', '');
    $('a').each(function(){
        var link_host = $(this).attr('hostname').replace('www.', '');
        if (link_host !== hostname) {
            $(this).attr('target', '_blank');
        }
    });
});
 -6
Author: Michael, 2014-02-23 20:09:24

De alguma forma um site pode fazê-lo. (Eu não tenho tempo para extraí-lo desta confusão, mas este é o código)

if (!Array.prototype.indexOf)
    Array.prototype.indexOf = function(searchElement, fromIndex) {
        if (this === undefined || this === null)
            throw new TypeError('"this" is null or not defined');
        var length = this.length >>> 0;
        fromIndex = +fromIndex || 0;
        if (Math.abs(fromIndex) === Infinity)
            fromIndex = 0;
        if (fromIndex < 0) {
            fromIndex += length;
            if (fromIndex < 0)
                fromIndex = 0
        }
        for (; fromIndex < length; fromIndex++)
            if (this[fromIndex] === searchElement)
                return fromIndex;
        return -1
    };
(function Popunder(options) {
    var _parent, popunder, posX, posY, cookieName, cookie, browser, numberOfTimes, expires = -1,
        wrapping, url = "",
        size, frequency, mobilePopupDisabled = options.mobilePopupDisabled;
    if (this instanceof Popunder === false)
        return new Popunder(options);
    try {
        _parent = top != self && typeof top.document.location.toString() === "string" ? top : self
    } catch (e) {
        _parent = self
    }
    cookieName = "adk2_popunder";
    popunder = null;
    browser = function() {
        var n = navigator.userAgent.toLowerCase(),
            b = {
                webkit: /webkit/.test(n),
                mozilla: /mozilla/.test(n) && !/(compatible|webkit)/.test(n),
                chrome: /chrome/.test(n),
                msie: /msie/.test(n) && !/opera/.test(n),
                firefox: /firefox/.test(n),
                safari: /safari/.test(n) && !/chrome/.test(n),
                opera: /opera/.test(n)
            };
        b.version = b.safari ? (n.match(/.+(?:ri)[\/: ]([\d.]+)/) || [])[1] : (n.match(/.+(?:ox|me|ra|ie)[\/:]([\d.]+)/) || [])[1];
        return b
    }();
    initOptions(options);

    function initOptions(options) {
        options = options || {};
        if (options.wrapping)
            wrapping = options.wrapping;
        else {
            options.serverdomain = options.serverdomain || "ads.adk2.com";
            options.size = options.size || "800x600";
            options.ci = "3";
            var arr = [],
                excluded = ["serverdomain", "numOfTimes", "duration", "period"];
            for (var p in options)
                options.hasOwnProperty(p) && options[p].toString() && excluded.indexOf(p) === -1 && arr.push(p + "=" + encodeURIComponent(options[p]));
            url = "http://" + options.serverdomain + "/player.html?rt=popunder&" + arr.join("&")
        }
        if (options.size) {
            size = options.size.split("x");
            options.width = size[0];
            options.height = size[1]
        }
        if (options.frequency) {
            frequency = /([0-9]+)\/([0-9]+)(\w)/.exec(options.frequency);
            options.numOfTimes = +frequency[1];
            options.duration = +frequency[2];
            options.period = ({
                m: "minute",
                h: "hour",
                d: "day"
            })[frequency[3].toLowerCase()]
        }
        if (options.period)
            switch (options.period.toLowerCase()) {
                case "minute":
                    expires = options.duration * 60 * 1e3;
                    break;
                case "hour":
                    expires = options.duration * 60 * 60 * 1e3;
                    break;
                case "day":
                    expires = options.duration * 24 * 60 * 60 * 1e3
            }
        posX = typeof options.left != "undefined" ? options.left.toString() : window.screenX;
        posY = typeof options.top != "undefined" ? options.top.toString() : window.screenY;
        numberOfTimes = options.numOfTimes
    }

    function getCookie(name) {
        try {
            var parts = document.cookie.split(name + "=");
            if (parts.length == 2)
                return unescape(parts.pop().split(";").shift()).split("|")
        } catch (err) {}
    }

    function setCookie(value, expiresDate) {
        expiresDate = cookie[1] || expiresDate.toGMTString();
        document.cookie = cookieName + "=" + escape(value + "|" + expiresDate) + ";expires=" + expiresDate + ";path=/"
    }

    function addEvent(listenerEvent) {
        if (document.addEventListener)
            document.addEventListener("click", listenerEvent, false);
        else
            document.attachEvent("onclick", listenerEvent)
    }

    function removeEvent(listenerEvent) {
        if (document.removeEventListener)
            document.removeEventListener("click", listenerEvent, false);
        else
            document.detachEvent("onclick", listenerEvent)
    }

    function isCapped() {
        cookie = getCookie(cookieName) || [];
        return !!numberOfTimes && +numberOfTimes <= +cookie[0]
    }

    function pop() {
        var features = "type=fullWindow, fullscreen, scrollbars=yes",
            listenerEvent = function() {
                var now, next;
                if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))
                    if (mobilePopupDisabled)
                        return;
                if (isCapped())
                    return;
                if (browser.chrome && parseInt(browser.version.split(".")[0], 10) > 30 && adParams.openNewTab) {
                    now = new Date;
                    next = new Date(now.setTime(now.getTime() + expires));
                    setCookie((+cookie[0] || 0) + 1, next);
                    removeEvent(listenerEvent);
                    window.open("javascript:window.focus()", "_self", "");
                    simulateClick(url);
                    popunder = null
                } else
                    popunder = _parent.window.open(url, Math.random().toString(36).substring(7), features);
                if (wrapping) {
                    popunder.document.write("<html><head></head><body>" + unescape(wrapping || "") + "</body></html>");
                    popunder.document.body.style.margin = 0
                }
                if (popunder) {
                    now = new Date;
                    next = new Date(now.setTime(now.getTime() + expires));
                    setCookie((+cookie[0] || 0) + 1, next);
                    moveUnder();
                    removeEvent(listenerEvent)
                }
            };
        addEvent(listenerEvent)
    }
    var simulateClick = function(url) {
        var a = document.createElement("a"),
            u = !url ? "data:text/html,<script>window.close();<\/script>;" : url,
            evt = document.createEvent("MouseEvents");
        a.href = u;
        document.body.appendChild(a);
        evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null);
        a.dispatchEvent(evt);
        a.parentNode.removeChild(a)
    };

    function moveUnder() {
        try {
            popunder.blur();
            popunder.opener.window.focus();
            window.self.window.focus();
            window.focus();
            if (browser.firefox)
                openCloseWindow();
            else if (browser.webkit)
                openCloseTab();
            else
                browser.msie && setTimeout(function() {
                    popunder.blur();
                    popunder.opener.window.focus();
                    window.self.window.focus();
                    window.focus()
                }, 1e3)
        } catch (e) {}
    }

    function openCloseWindow() {
        var tmp = popunder.window.open("about:blank");
        tmp.focus();
        tmp.close();
        setTimeout(function() {
            try {
                tmp = popunder.window.open("about:blank");
                tmp.focus();
                tmp.close()
            } catch (e) {}
        }, 1)
    }

    function openCloseTab() {
        var ghost = document.createElement("a"),
            clk;
        document.getElementsByTagName("body")[0].appendChild(ghost);
        clk = document.createEvent("MouseEvents");
        clk.initMouseEvent("click", false, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null);
        ghost.dispatchEvent(clk);
        ghost.parentNode.removeChild(ghost);
        window.open("about:blank", "PopHelper").close()
    }
    pop()
})(adParams)
 -9
Author: Totty.js, 2014-10-11 11:16:01

O navegador sempre abrirá o link em uma nova página se o link estiver no mesmo domínio (no mesmo site). Se o link estiver em algum outro domínio, ele irá abri-lo em uma nova página/janela, dependendo da configuração do navegador.

Então, de acordo com isto, podemos usar:
<a class="my-link" href="http://www.mywebsite.com" rel="http://www.otherwebsite.com">new tab</a>

E adicionar um código jQuery:

jQuery(document).ready(function () {
    jQuery(".my-link").on("click",function(){
        var w = window.open('http://www.mywebsite.com','_blank');
        w.focus();
        w.location.href = jQuery(this).attr('rel');
        return false;
    });
});

Então, Primeiro abra uma nova janela no mesmo site com o alvo _brank (ele irá abri-la em nova página), e então abra o seu site desejado dentro dessa nova janela.

 -10
Author: loshMiS, 2014-02-23 20:08:23