Trooper
|
[Firefox extension] [HOWTO] Ketjap
24-06-06, 05:26
#1
Eu já disse no tópico do Opera 9 que o que eu gosto no firefox é aquela extension do CustomizeGoogle, que cria um link direto para as imagens, sem passar pela página intermediária que possui frames.
Só que eu também uso o image search do yahoo, ae eu me irritei com essa maldita página intermediária.. Então dei uma procurada por uma extension que fizesse isso e achei algo ainda melhor O que ela faz? Altera elementos das tags no HTML. Por exemplo, o elemento HREF da tag A. Você define um padrão que você quer alterar, e define como deve ser alterado (através de javascript) Mas eu não sei javascript Ele tem um menuzinho que consulta, aparentemente, online por filtros prontos. O do yahoo images não funcionou, mas eu fiz um (alterei na verdade) e vou mostrar aqui como ele fuciona. Não testei o do google images pq o CustomizeGoogle além de criar link direto, cria linkzinho embaixo com mais firula Mas eu sei! Tell me now! Vou usar como exemplo o filtro pra link direto para imagens, no yahoo images: Code:
tag: a attribute: href prevalue: /^(http:\/\/rds.yahoo.(.*))\/(.*)imgurl=.*$/i postvalue: [ "http://"; + unescape(unescape( [PREVALUE].substring( [PREVALUE].indexOf('imgurl=')+7, [PREVALUE].indexOf('%26rurl=') ) )) ] /^(http:\/\/rds.yahoo.(.*))\/(.*)imgurl=.*$/i O modelo da expressão regular segue o modelo que o javascript usa (que é o mesmo do perl se eu não me engano). Ou seja, /expressão/opções No caso a opção é i (case insensitive) E a expressão é ^(http:\/\/rds.yahoo.(.*))\/(.*)imgurl=.*$ Em wildcard isso seria http://rds.yahoo.*/*imgurl=* Ou seja, se tiver um link, em qualquer site, em qualquer página, apontando pra uma URL que siga esse padrão (através de links), então o postvalue vai ser aplicado. Agora o postvalue. Ele tem que ficar entre [] senão não funciona (acho que é um "evaluate") O que nós queremos é pegar apenas a URL que está no imgurl=, para ter o link direto: Code:
[ 1 "http://" 2 + 3 unescape(unescape( 4 [PREVALUE].substring( 5 [PREVALUE].indexOf('imgurl=')+7, 6 [PREVALUE].indexOf('%26rurl=') 7 ) 8 )) ] A linha 1 diz que o link novo (o novo conteúdo do href) vai começar com http:// (para ter uma URL absoluta), e a linha 2 é concatenação de strings em javascript (só pra juntar textos). A linha 3 é necessária porque o yahoo redireciona pra uma outra página interna deles, ae pra passar os caracteres como / $ % & e tals, ele precisa codificar em hexa.. %20 é o espaço, por exemplo. Acontece que essa "outra página" tem que ter, como parâmetro o link direto, ae ele tem que codificar 2 vezes. Se você não entendeu merda nenhuma, veja o exemplo: imgurl=jenkneulman.homestead.com%252Ffiles%252Fholy_shit.jpg Ao se passar o unescape uma vez (%25 é o caracter %): imgurl=jenkneulman.homestead.com%2Ffiles%2Fholy_shit.jpg ao passar mais uma vez: imgurl=jenkneulman.homestead.com/files/holy_shit.jpg Na linha 4, tem um negócio ali que é o [PREVALUE]. Isso representa o valor original do elemento que estamos modificando (no caso um A:HREF, ou seja, o link original). substring é uma função do javascript que serve para pegar um pedaço de texto, por exemplo, se eu tenho o texto "You don't know the power of Dark Side" e quero pegar o "know the power", eu faço Code:
"You don't know the power of Dark Side".substring(10, 24) Então a intenção do substring nessa linha é justamente pegar o link que está entre "imgurl=" e "%26rurl" (que é o que vem depois do imgurl) Na linha 5, ele usa o indexOf, que informa qual a posição da frase 'imgurl=" dentro do texto [PREVALUE], e adiciona 7 (pra ele pegar o que vem DEPOIS do "imgurl=") (imgurl= tem 7 caracteres) Na linha 6, ele faz mesma coisa que a 5, só muda os valores e a intenção Nas linhas restantes ele fecha todos os ( e [ que foram abertos TANAM agora quando você clicar num thumbnail no image search do yahoo você será levado diretamente para a imagem WTF FAKE NAO FUNCIONA Funciona sim, mas quando você passa o mouse ele mostra o link original.. ás vezes ele mostra o novo.. Mas quando você clica ele sempre leva pro link novo. Quando você clica na imagem com botão direito e Copiar link ele também sempre copia o link novo, o problema é só a statusbar. Mas eu quero ver rapidinho aquela página com frame denovo A extension cria um iconezinho na statusbar, vai lá e ativa o Disabled. Quem fizer algum outro filtro 0wnz0r posta ae tb Last edited by ZeroCarontE; 24-06-06 at 05:32.. |
||||
Trooper
|
24-06-06, 05:46
#2
Parece o mesmo esquema do greasemonkey, não é?
|
Trooper
|
24-06-06, 05:54
#3
nao sei
o grease monkey pela descricao q eu lembro acho que podia fazer isso mais poderoso, porem mais complexo (pq tem q fazer um script intero) esse ae eh soh seek'n'change |
Trooper
|
24-06-06, 08:52
#4
nossa é complicado ein
juro q li umas 3 vezes mas ainda sim acho dificil isso hehe |
Trooper
|
24-06-06, 09:22
#5
Basicamente vcs tao ajudando a fechar o google e o yahoo. Nao é isso?
|
Banned
|
24-06-06, 09:22
#6
putz, e eu que nem li? complicado mesmo
|
Banned
|
24-06-06, 10:05
#7
Quote:
|
|
Trooper
|
24-06-06, 10:27
#8
prefiro o greasemonkey
|
Trooper
|
24-06-06, 10:52
#9
Quote:
|
|
Trooper
|
24-06-06, 14:32
#10
pra mim, parece simples.
|
Trooper
|
24-06-06, 15:38
#11
Way too simple
|
|
|