elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Variable un Href en específico
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Variable un Href en específico  (Leído 2,489 veces)
rafaeljoseyepez

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Variable un Href en específico
« en: 3 Septiembre 2020, 00:38 am »

Buenas tardes, necesito ayuda con un script de Greasemonkey que estoy haciendo...

Una página tiene un botón que dice ejemplo "INICIAR AQUÍ" y al hacerle click va a una URL como esta: https://link.myurllinks.com/xxxxxxxx/inicio?MyID=ABCDE9cAnuAwAOZ3WT2NlyEYpVh9jQ

Lo que quiero que haga el script es que en la página en lugar de decir "INICIAR AQUÍ", diga parte del link (especificamente desde el caracter 49 al 54, es decir lo que se ve en rojo en el link de arriba, y pues logré hacerlo, con algo como esto:

Código
  1. $("a").each(function() {
  2.    var PSID = this.href;
  3.    $(this).attr('start-button', PSID);
  4.    $(this).text(PSID.substring(49,54));
  5.  
  6. });

y funciona perfecto, cumple con lo que quería, el problema es que me toma todos los href de la página y no solamente el botón, y quisiera saber como resolver eso...


Código
  1. <form id="startForm" action="survey" method="post">
  2.                                        <div id="links">
  3.                                                  <a id="start-button" href="inicio?MyID=ABCDE9cAnuAwAOZ3WT2NlyEYpVh9jQ" onclick="_gaq.push(['_trackEvent', 'StartSurvey Button', 'Click', 'Offer Page']);">
  4.                                                  LET'S BEGIN
  5.                                                  </a>
  6.                                        </div>
  7.                              </form>

al establecer como variable this.href me tomará todos los href de la página, no sé si es posible establecer como variable el id "start-button" de modo que tome solamente el botón y no todos los href de la página....

De antemano muchas gracias, aclaro que mi conocimiento en javascript es muy poco, solo logré hacer el código leyendo y viendo ejemplos por Internet



En línea

.:Xx4NG3LxX:.

Desconectado Desconectado

Mensajes: 202



Ver Perfil WWW
Re: Variable un Href en específico
« Respuesta #1 en: 3 Septiembre 2020, 01:11 am »

No soy experto, pero prueba esto:

Código
  1. $("a#start-button").each(function() {
  2.    var PSID = this.href;
  3.    $(this).attr('start-button', PSID);
  4.    $(this).text(PSID.substring(49,54));
  5.  
  6. });
  7.  

No se sí funcionará en tu caso.


En línea

"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"
Agente Naranja


Desconectado Desconectado

Mensajes: 535


uguu~


Ver Perfil WWW
Re: Variable un Href en específico
« Respuesta #2 en: 8 Septiembre 2020, 05:29 am »

Cuando usas jQuery para seleccionar elementos, puedes especificar su ID o su clase. Tu código inicial era:

Código
  1. $("a")

"a" significa "todos los elementos con etiqueta <a>". Lo que puedes hacer es añadir un punto . para seleccionar por clases, por ejemplo "a.boton" significa "Todos los elementos A que tengan clase boton" o el # para los ids, por ejemplo "a#boton" significa "todos los elementos A que tengan id boton".

En tu caso el elemento es:

Código
  1. <a id="start-button" href="inicio?MyID=ABCDE9cAnuAwAOZ3WT2NlyEYpVh9jQ" onclick="_gaq.push(['_trackEvent', 'StartSurvey Button', 'Click', 'Offer Page']);">
  2. LET'S BEGIN
  3. </a>

Como ves, tiene un id "start-button". Puedes usar este ID para limitar tu selección, en vez de "todos los elementos A" con $("a") puedes hacer $("a#start'button"), que es lo mismo que te ha explicado 4NG3L  ;D
En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


Turn off the red ligth


Ver Perfil WWW
Re: Variable un Href en específico
« Respuesta #3 en: 9 Septiembre 2020, 03:14 am »

Código
  1. var enlace = document.querySelector("#start-button");
  2. enlace.innerText = enlace.href.substr(49, 5);

Se obtiene el elemento HTML a y se asigna una referencia a una variable enlace utilizando querySelector y un selector por id como parámetro ya que el id en HTML presume ser un elemento único en toda la web.
Se obtiene el atributo href del elemento como string y se obtiene un subStr con el método substr del tipo referenciado String. El primer parámetro es la posición inicial/primer elemento del substring. El segundo parámetro (se puede omitir para obtener el substr hasta el final) es el número de caracteres a obtener.
Se asigna este a la propiedad innerText, homólogo de innerHTML pero que inhabilita la ejecución indeseada de código poco probable (pero posible) al utilizar cadenas con cierto rango de aletoriedad.

Como aclaración los elementos a no son botones. Tienes botones de verdad como <button type="button">Click</button>
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
a href en flash....ayudaaaaaa!!!
Diseño Gráfico
RoRyS 1 1,994 Último mensaje 20 Septiembre 2005, 19:00 pm
por aNexos
iframe href
Desarrollo Web
Rave1996 2 2,174 Último mensaje 7 Diciembre 2013, 17:07 pm
por Rave1996
[Resuelto] echo y href
PHP
mysqlway 2 2,318 Último mensaje 26 Diciembre 2014, 10:03 am
por engel lex
Problema con href y php
PHP
Ali Baba 4 2,624 Último mensaje 28 Junio 2017, 15:48 pm
por XKC
[AYUDA] [BATCH] Como saber si una variable tiene un caracter especifico. « 1 2 »
Scripting
.:Xx4NG3LxX:. 10 4,756 Último mensaje 24 Febrero 2020, 00:22 am
por .:Xx4NG3LxX:.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines