Tengo varios sitios en los que estoy trabajando que están cargando subpáginas a través de lightbox. Google encuentra el contenido real, pero las páginas son horribles ya que no están destinadas a cargar todos los encabezados y demás; este es contenido destinado a la entrega de lightbox (ajax, fancybox).
En PHP, o javascript si es necesario, ¿cómo puedo determinar si el contenido se ve en una caja de luz o no? Sería bueno lanzar un enlace “ver la página original” o algo así.
lightbox
como cualquier otra biblioteca similar, use AJAX para extraer contenido … no estoy seguro de si puede detectar si es un estándar jquery
o moottools
o lightbox
porque todos ustedes la misma tecnología
Lo que puedes hacer es detectar si tu página ha sido llamada a través de AJAX
function isAjax() {
return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']=="XMLHttpRequest");
}
if(isAjax())
{
die("Don't Use AJAX");
}
else
{
echo "WELCOME" ;
}
-
¡Sí! Gracias. Esto es exactamente lo que estaba buscando.
– Tostada Fantasma
23 de abril de 2012 a las 16:29
Los lightboxes a menudo usan iframes para mostrar páginas externas. Si este es el caso (puede inspeccionar Lightbox usando Firebug para verificar esto), puede usar window.top
en JavaScript para verificar esto.
if (window.top.location != window.location) {
//this page is inside a frame or iframe
}
Si está utilizando la última versión de fancyBox con las opciones predeterminadas, este truco debería funcionar:
<?php echo (isset($_SERVER['HTTP_X_FANCYBOX']) && $_SERVER['HTTP_X_FANCYBOX']) ? 'is fancyBox' : 'is not fancyBox' ?>
-
Al usar Fancybox 2.1.5, que es la versión de producción actual, se informó que “no es fancyBox” tanto en FancyBox como cuando la página se cargó directamente.
– jerrygarciuh
10 mayo 2016 a las 17:05
Sé que fancybox puede manejar datos AJAX e iframes. Si es lo último, puede obtener el src del iframe. Si es lo primero, puede envolverlo en un div que tal vez tenga un
data-url
atributo de la url.– CWSpear
23 de abril de 2012 a las 16:05
probé esto
data-url
método y no parecía conseguir que hiciera nada. Tal vez no lo estoy entendiendo lo suficientemente bien. La mejor información que pude encontrar fue aquí: foro.jquery.com/topic/… y eso no tenía mucha información.– Tostada Fantasma
23 de abril de 2012 a las 16:24