EDITAR:
Aprendi que usar outro valor além de _blank
NÃO funciona em navegadores móveis para abrir novas janelas / guias.
Por exemplo, se você precisar abrir uma nova janela / guia:
Isso funciona em todos os navegadores, mesmo navegadores móveis:
target="_blank"
.Isso não funciona em navegadores móveis, mas não funciona em navegadores de desktop:
target="new"
.
-
Embora eu tenha este funcionando, não tenho certeza se há uma maneira melhor de fazer isso, ou se a forma como consegui é a única maneira certa.
Basicamente, o que estou fazendo é substituir todos os valores de atributo target="_new"
ou target="_blank"
para target="nw"
, desta forma apenas uma nova janela é aberta e nela todas as outras novas janelas serão abertas para não sobrecarregar o usuário com várias janelas.
Também estou adicionando um atributo " Abre em uma nova janela " title=""
.
Portanto, a solução que criei é esta:
$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
Observe os dois .attr();
métodos.
Esta é a maneira correta de adicionar dois atributos a um elemento?
Eu tentei, .attr('target','nw','title','Opens in a new window')
mas não funcionou.
A razão de eu perguntar é por causa do princípio DYR (Don't Repeat Yourself), então se eu puder melhorar o código que tenho, ótimo, se não, então é o que é.
Obrigado.
.attr('a,b','value')
que não funcione. Eu também resolvi .attr('a',1).attr('b',1)
. Ser menos dependente de novas janelas pode ser outra abordagem, no seu caso, @ricardozea: P