Foros del Web » Programando para Internet » PHP »

Abrir un DIV especifico de una página desde otra

Estas en el tema de Abrir un DIV especifico de una página desde otra en el foro de PHP en Foros del Web. Hola, pues quiero saber como hacer un link para abrir un DIV especifico que esta dentro de una URL, pero desde otro sitio web....
  #1 (permalink)  
Antiguo 29/04/2014, 16:05
Avatar de gustavoghgx  
Fecha de Ingreso: abril-2014
Ubicación: Guadalajara
Mensajes: 14
Antigüedad: 10 años
Puntos: 0
Pregunta Abrir un DIV especifico de una página desde otra

Hola, pues quiero saber como hacer un link para abrir un DIV especifico que esta dentro de una URL, pero desde otro sitio web.
  #2 (permalink)  
Antiguo 29/04/2014, 16:29
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Abrir un DIV especifico de una página desde otra

La pregunta es de HTML... algo como .... ?

Cita:
<a href="#arriba" title="Ir Arriba">Ir arriba</a>
http://www.comocreartuweb.com/curso-.../anclajes.html
__________________
Salu2!
  #3 (permalink)  
Antiguo 29/04/2014, 16:40
Avatar de gustavoghgx  
Fecha de Ingreso: abril-2014
Ubicación: Guadalajara
Mensajes: 14
Antigüedad: 10 años
Puntos: 0
Respuesta: Abrir un DIV especifico de una página desde otra

Gracias, lo que tu me sugieres es algo como anclar un contenedor.

Lo que yo quiero es que al hacer el enlace sólo se muestre un DIV en específico, no que se haga referencia dentro de la URL.
  #4 (permalink)  
Antiguo 29/04/2014, 18:34
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Abrir un DIV especifico de una página desde otra

Pues...

Seria mas facil con Javascript...... aca un pseudocodigo:

Código Javascript:
Ver original
  1. foreach DIV:
  2.    if id!=id_buscado:  // o clase buscada
  3.        agrear {display:none} (hidden)  // o.. height = 0
  4.    endif
  5. end foreach

Si a donde le apuntas no es de tu propiedad y no la controlas....... podrias:

1) Le apuntas con un enlace interno
2) En esa url interna a tu sitio cargas la pagina que te interesa dentro de un frame
3) Haces que tu Javascript comience a parsear del DOM dentro del frame

En caso que lo anterior (punto 3) no sea posible..... podrias leer toda la pagina con curl o file_get_contents, etc.. y solo mostrar esa parte del DOM recortando el pedazo desde PHP
__________________
Salu2!

Última edición por Italico76; 29/04/2014 a las 20:56
  #5 (permalink)  
Antiguo 29/04/2014, 22:07
Avatar de gustavoghgx  
Fecha de Ingreso: abril-2014
Ubicación: Guadalajara
Mensajes: 14
Antigüedad: 10 años
Puntos: 0
Respuesta: Abrir un DIV especifico de una página desde otra

Gracias en verdad, pero realmente no entendí muy bien lo que dices , soy nuevo en PHP.

Voy a especificar más, quiero llamar el DIV con id="seleccion" de esta página:
---- http://www.anquiroeventos.com/postres/ad/kilotrigo,1

Actualmente tiene la propiedad display:none;

¿Cómo puedo mostrarlo en otra URL?
  #6 (permalink)  
Antiguo 30/04/2014, 06:12
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Abrir un DIV especifico de una página desde otra

Código HTML:
Ver original
  1. <iframe id="myIframe" src="http://www.anquiroeventos.com/postres/ad/kilotrigo,1" height="1000" width="800">
  2.  
  3.     function ocultarDivs()
  4.     {
  5.       // ocultar cada DIV
  6.       // des-ocultar class 'description'
  7.     }
  8.  
  9.     document.getElementById('myIframe').contentWindow.ocultarDivs();   


Lamentablemente no me llevo bien con JS ... no puedo ayudarte mas
__________________
Salu2!

Última edición por Italico76; 30/04/2014 a las 06:22
  #7 (permalink)  
Antiguo 30/04/2014, 06:24
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Abrir un DIV especifico de una página desde otra

Uhm.........

Si usas jQuery, te será más "fácil".

Obtienes la pagina en cuestión con ajax
Buscas el contenedor que desas
y lo imprimes en tu web.

¿Eso es lo q quieres?

PD: Esta pregunta parece más de js que de php ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #8 (permalink)  
Antiguo 30/04/2014, 06:33
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Abrir un DIV especifico de una página desde otra

No tengo mucha idea de JS.... no funciona pero esta cerca......

Código PHP:
Ver original
  1. <?php
  2. // $url_externa = $_GET['urlexterna'];
  3. $url_externa = 'http://www.anquiroeventos.com/postres/ad/kilotrigo,1';
  4. ?>
  5.  
  6. <iframe id="myIframe" src="<?php echo $url_externa ?>" height="1000" width="800">
  7.  
  8. <script language="JavaScript">
  9.     function ocultarDivs(marco)
  10.     {      
  11.         var divs    = marco.getElementsByTagName("div");​
  12.    
  13.         for (var i = 0; i < divs.length; i++) {        
  14.             // visible solo el Div con la receta de cocina
  15.             if (divs[i].className != 'description){
  16.                 divs[i].style.display = 'none';  
  17.             }  
  18.         }  
  19.     }
  20.  
  21.     document.getElementById('myIframe').contentWindow.ocultarDivs();   
  22. </script>

Y es cierto con JQuery...sale de una sinocon manejo de DOM desde php :)

@Eleazan te dio buenos "tips" para atacar de una el problema ;)
__________________
Salu2!

Última edición por Italico76; 30/04/2014 a las 10:13
  #9 (permalink)  
Antiguo 30/06/2014, 06:24
 
Fecha de Ingreso: mayo-2011
Ubicación: santa marta
Mensajes: 5
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Abrir un DIV especifico de una página desde otra

Código:
function OcultaYMuestra(clase1,clase2)
{if(Trim(clase1)!=""){	
$(clase1).each(function(){		  
			 $(this).css("display", "none")
			});}

	if(clase2){
		$(clase2).each(function(){
			 $(this).css("display", "block")						  	
			  });}
	}
esta funcion simple te oculta o muestra cualquier elemento del html div, label, tablas, etc, yo le puse clase pero tu le puedes enviar el id que quieras, obviamente debes instanciar el jquery antes de ejecutar la funcio.


por ejemplo

Código:
OcultaYMuestra("#div1","#div2")
OcultaYMuestra("#div2")
OcultaYMuestra("","#div2")
en el primero oculta div1 y muestra div2
en el segundo oculta div2
y el tercero muestra div2
pero como te dije si tienes un grupo de de elementos por ejemplo agrupados por una clase y los quieres mostras pos le envias en ves del id, envias la class y da igual

Etiquetas: especifico, página
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:00.