Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Macêdo

Abrir todos os links utilizando barra de endereços e Regex

Recommended Posts

Amigos,

 

estou precisando de um código em javascript para abrir todos os links de uma página que seguem um padrão semelhante a este:

http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625

 

Este último pedaço que utiliza um hash é com caracteres variáveis, mas com tamanho fixo.

 

Alguém poderia me ajudar a montar um código para abrir todos os links que ele achar na página semelhante a isto em novas abas?

 

Eu tenho um código semi-pronto utilizando JQuery, mas seria pra um button. Não posso utilizar button, mas sim a barra de endereços do navegador, ou seja, colar o código JS lá e mandar rodar para fazer este procedimento de abrir os links com o padrão acima.

 

Alguém tem alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz um exemplo aqui para mostrar como casar os links com regex

<a href="http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625'>http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625">sim</a>
<a href="http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625'>http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625">sim</a>
<a href="http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625'>http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625aa">nao</a>
<a href="http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625'>http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625">sim</a>

<a href="http://www.site.com.br">nao</a>

<a href="http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625'>http://www.site.com.br/caminho/pasta/c8f388d1917311e2a180000c29d05625aa">nao</a>
<a href="http://www.site.com.br/caminho/pasta/123412341234aaaabbbbccccddddeeee">sim</a>


<style>
.t { color: #f00; }
</style>
<script>
	var as = document.getElementsByTagName('a'),
		max = as.length;

	while(max--){
		var er = /\/[a-z0-9]{32}$/gi;

		if(er.test(as[max].href)){
			as[max].className = 't';
		}
	}
</script>

note que os que estão escrito "sim", obedecem o padrão q vc descreveu, então o script vai pinta-los de vermelho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A idéia é por aí mesmo William. Só que preciso de 2 detalhes:

 

1) Rodar isso a partir da barra de endereços. Acredito que com o código javascript: código em si... deve funcionar

2) Ao identificar os que estão no padrão, ele abrir os links em novas abas, independente da quantidade.

 

O window.open() iria dentro do IF? Qual seria a url? Seria a variável er?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O window.open() iria dentro do IF?

sim.

Qual seria a url?

a url é:

as[max].href

Seria a variável er?

não. A variavel er é a regex.

 

 

Dai em diante é contigo cara, não vou fazer todo o código pra ti :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora ficou moleza William! Muitíssimo obrigado!

 

Em vez de tentar rodar pela barra de endereços do navegador, utilizei o debug do Firebug mesmo.

 

javascript: var as = document.getElementsByTagName('a'),
		max = as.length;

	while(max--){
		var er = /\/[a-z0-9]{32}$/gi;

		if(er.test(as[max].href)){
			abrir = as[max].href;
			window.open(abrir);
		}
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.