Foros del Web » Programando para Internet » Javascript »

Cierre de ventanas

Estas en el tema de Cierre de ventanas en el foro de Javascript en Foros del Web. He estado leyendo el foro y no termino de encontrar nada que funcione en el siguiente caso. Voy a explicar un poco como lo tengo ...
  #1 (permalink)  
Antiguo 20/10/2010, 05:27
 
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 44
Antigüedad: 13 años, 7 meses
Puntos: 0
Cierre de ventanas

He estado leyendo el foro y no termino de encontrar nada que funcione en el siguiente caso. Voy a explicar un poco como lo tengo montado.

Desde una página index abro un popup con

<a href="urlloquesea.php" target="popup" onClick="window.open(this.href, this.target, 'width=720,height=361'); return false;" class="someclass" title="sometitle">Algo</a>

En ese popup hay un texto y el botón de Compartir que te da facebook

<a onclick="" name="fb_share" type="button" share_url="loqsea.php"> Compartir</a>
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>

El tema es que al pulsar en el botón yo quiero añadir en el onclick que se me cierre el popup, además de la redirección que hace Facebook a su página de quieres compartir.

He intentado con self.close() y window.close() y no lo he conseguido.

¿¿Es posible hacer lo que pido??

P.D. La API de Facebook es horrible.
  #2 (permalink)  
Antiguo 20/10/2010, 14:29
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Cierre de ventanas

No uses el botón de facebook para sharear porque no hay manera de capturar el click (diferente es, por ejemplo, el caso del botón me gusta). La solución es usar un botón normal o un enlace que abra el popup de compartir. Incluso no entiendo para qué abrís un popup que no sea el de compartir directamente. Si es por las imágenes y los textos a sharear, no es así cómo se hace. Lo que se hace es crear un html básico, con los metatags de shareo dinámicos y se comparte ese html, el cual tiene un javascript que redirecciona a la url que querés compartir. Ejemplo:
Código PHP:
<?php
include 'config/config.php';
include_once 
'lib/db.php';
include_once 
'lib/funciones.php';
include_once 
'lib/no_cache.php';
$db=new db;
$sitio=new centell;
$sitio->setDataProvider($db);
mysql_query("SET NAMES utf8");
$_GET['m']=intval($_GET['m']);
$qry=$db->query("select * from enterrados where id='{$_GET['m']}'");
$row=$db->fetch_assoc($qry);
$path=BASE_URL;
?>
<html><head><title>Bajemos a 33!</title>
<meta name="title" content="Bajemos a 33!" />
<meta name="description" content="<?php echo ($row['nombre'].' ya tiene '.intval($_GET['v']).' votos en contra!'); ?>" />
<link rel="image_src" href="<?php echo $row['foto']; ?>" /></head><body>
<script>top.location='<?php echo $path;?>';</script></body></html>
Y lo que compartís es una ruta absoluta a esa página. Ejemplo: http://www.dominio.com/shFb.php?m=500&v=1500
  #3 (permalink)  
Antiguo 21/10/2010, 02:14
 
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 44
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Cierre de ventanas

Gracias por tu respuesta Panino. El problema es que obtienes los tags de una base de datos muy maja. Yo tengo un carrusel de video en JS que no recarga la página y los metas los tengo que obtener de un array que se genera en el momento. Por eso hago lo del popup, y en el popup genero los metas dinámicos.

Sin embargo me has dado una idea que voy a probar así que seguiremos informando.
  #4 (permalink)  
Antiguo 21/10/2010, 04:31
 
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 44
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Cierre de ventanas

Con un poco de la ayuda de Panino y deshaciéndome del botón de Facebook y haciéndolo yo mismo ya consigo cerrar el popup. Ahora lo que quiero es que la redirección que me hace ese popup sea en una ventana nueva, no que me pise la ventana padre. Lo más que consigo es eso mismo haciéndolo de la siguiente manera:

<a href="#" onclick="javascript:window.opener.location.href='h ttp://loquesea.html';window.close();" >Enlace</a>

Quiero que al abrirlo no me pise la ventana padre.

Muchas gracias!!

Etiquetas: ventanas
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 13:34.