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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Pregunta rápida
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pregunta rápida  (Leído 2,763 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Pregunta rápida
« en: 24 Septiembre 2020, 04:14 am »

Hola,

como puedo obtener la cadena o lo que este dentro de src="x" en este caso sería 'x' el dato...
a partir de un iframe.

Código
  1. <iframe src="x"></iframe> // el dato que la función debería devolver sería 'x'
  2.  

No importa si es JS o PHP, es para automatizar algo que estoy haciendo y me toma más tiempo tener que estar copiando esa parte de forma manual y después pegarla donde necesito. En cambio de esta manera se me aligera la carga.

Grarcias.


En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: Pregunta rápida
« Respuesta #1 en: 24 Septiembre 2020, 04:58 am »

Código
  1. <html>
  2. <body>
  3. <iframe src="x"></iframe>
  4. <iframe src="http://x"></iframe>
  5. <script>
  6. function obtenerAtributo(selector, atributo, i = 0, aux = []) {
  7.  for(selector = document.querySelectorAll(selector); i < selector.length; ++i) {
  8.    aux.push(selector[i][atributo]);
  9.  }
  10.  return aux;
  11. }
  12.  
  13.  
  14. alert(
  15.  obtenerAtributo("iframe", "src")[0]
  16. );
  17.  
  18. </script>
  19. </body>
  20. </html>

Te hice esta función bastante completa y sencilla.

El primer parámetro es un selector css. Exactamente el mismo texto que le pasas a $("texto")
El segundo parámetro es el atributo que quieres en texto.
El tercer parámetro es el iterador del bucle, si lo omites empieza en 0.
El cuarto parámetro es un array. Puedes mandarle alguno para ahorrarte un join si juntas info. A parte lo utilizo para evitar crear una variable dentro de la función.

Se te retorna un array con el/los valor/es del/los atributo/s que le pediste. Puedes trabajar directamente con un valor añadiendo el índice como en el ejemplo. O puedes imprimirlos todos si quitas el índice.

También puedes hacer llamadas a si misma para obtener varios atributos.
Código
  1. alert(
  2.  obtenerAtributo("iframe", "outerHTML", 0,
  3.    obtenerAtributo("iframe", "src", 0 ,
  4.      obtenerAtributo("script", "innerHTML")
  5.    )
  6.  )                                                                  
  7. );


« Última modificación: 24 Septiembre 2020, 05:20 am por @XSStringManolo » En línea

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

Drakaris

Desconectado Desconectado

Mensajes: 286


Todo lo que puedas imaginar, lo puedes crear.


Ver Perfil
Re: Pregunta rápida
« Respuesta #2 en: 24 Septiembre 2020, 12:10 pm »

con jquery:
Código
  1.  $("iframe").attr("src")
  2.  
En línea

Lo increible, no es lo que ves, sino como es
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Una pregunta de rapida repuesta es para todos
Juegos y Consolas
Pachulero 3 1,877 Último mensaje 8 Junio 2006, 17:40 pm
por pliskin007
Pregunta rapida
Foro Libre
101 SER 0 1,904 Último mensaje 24 Mayo 2010, 23:34 pm
por 101 SER
Pregunta rapida y sencilla (para los que saben ¬¬)
Programación C/C++
clodan 4 3,168 Último mensaje 29 Octubre 2010, 21:45 pm
por Oblivi0n
Pregunta rapida XSS
Nivel Web
Tracxus 4 3,777 Último mensaje 9 Enero 2011, 19:36 pm
por KrossPock
[html cache] Pregunta rapida
Desarrollo Web
[u]nsigned 1 2,190 Último mensaje 30 Mayo 2012, 07:25 am
por WarGhost
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines