SPO 2013 - Como abrir itens da Lista de Links (sites) em uma nova janela/aba ao clicar com o botão esquerdo do mouse?
-
29-09-2020 - |
Pergunta
Estamos usando o O365/Sharepoint Online 2013.
Em nossa intranet temos a Lista de Links OOTB em uma página para que os usuários possam adicionar links para sites externos importantes nela.Por padrão, esses links apenas abrem na janela atual e efetivamente tiram o usuário do site da intranet.
Gostaríamos que os links fossem abertos em uma nova aba ao clicar com o botão esquerdo do mouse.Como isso pode ser feito?Pensei em fazer um arquivo Javascript .js e vinculá-lo usando a opção "JS-Link" da Lista de Links na caixa de ferramentas, mas como não conheço nenhum Javascript, não posso escrevê-lo sozinho.
Eu pesquisei na Internet de cima a baixo, tentei diferentes scripts e soluções, mas simplesmente não consigo fazer funcionar direito.Parece que esse tipo de coisa deveria ser uma opção padrão no Sharepoint.
** EDITAR/SOLUÇÃO **
Consegui descobrir logo depois de fazer essa pergunta.Eu tenho um script que não funcionou no meu arquivo .js e apenas editei-o cegamente para tentar mais uma coisa desesperada e funcionou!
Então, se alguém quiser saber, a resposta é criar um filenamehere.js e incluir o seguinte script dentro dele:
$(document).ready(function() {
$("a").removeAttr('onclick').attr("target","_blank");
});
Depois disso, salve o arquivo de script na pasta SiteAssets do conjunto de sites e coloque "~sitecollection/SiteAssets/filenamehere.js" na opção JS-Link nas configurações/caixa de ferramentas da Web Part.:-)
EDITAR 2: Percebi que de alguma forma o script agora também é aplicado aos links de navegação global do site, mesmo quando eu apliquei o script na opção JS-Link da Web Part.Se alguém souber como consertar isso, seria mais do que incrível!:-)
Solução
Consegui resolver o problema e só queria compartilhar a resposta com quem possa estar procurando a mesma coisa.Então estudei um pouco o jQuery para ver como funciona e a solução foi simples, só precisei fazer um alvo mais especificado para o script ao invés de apenas um que seleciona todos os links.
O que fiz foi selecionar todos os links na lista especificada (WPQ#).Aqui está um exemplo se sua lista se chamar "WebPartWPQ1":
$(document).ready(function() {
$( "#WebPartWPQ1 a" ).attr("target","_blank");
});
Espero que isso ajude quem tem a mesma necessidade de abrir itens da Lista de Links em uma nova aba!:-)
Outras dicas
você terá que adicionar a linha $("#WebPart...") para cada webpart que deseja que entre em vigor se quiser deixar os links da barra de navegação superior em paz.