2009-09-05 9 views
3

J'utilise jquery lightbox plugin colorbox (http://colorpowered.com/colorbox/) et je veux être capable de construire une URL comme www.example.com/about-me.html qui enverra l'utilisateur sur mon site web et ouvrira la page iframed (environ me.html) dans le script de lightbox. Je crois que je dois utiliser des crochets d'événement ou quelque chose, mais je ne suis pas sûr de la façon d'atteindre le résultat. Toute aide appréciée.Comment construire une URL pour ouvrir une page avec jquery lightbox plugin colorbox?

Répondre

4

Le crédit va à Jack Moore sur le groupe google colorbox.

Sa solution adaptée à cette question:

var url = document.location.href; 
if(url.search(/\?about-me/i) !== -1){ 
    $(".iframe:first").click(); 

} 

Ainsi, l'URL serait www.example.com?about-me cela prendrait l'utilisateur à la page d'accueil et ce javascript trouverez ce paramètre et dire colorbox pour l'ouvrir.

thread groupe google original et plus d'informations: http://groups.google.com/

1

modifier - ont mis à jour mon exemple de code source ci-dessous

je ne suis pas familier avec cette visionneuse, mais je suppose que tout ce que vous devez faire est de créer une page et appelle la visionneuse sur window.load ou dom prêt comme:

$(document).ready(function() { 
    if(document.location.hash){ 
    //launch colorbox and use this hash 
    $.fn.colorbox({width:"50%", inline:true, href:""+document.location.hash+""}); 
    } 
}); 
+0

je pense que c'est certainement ce que vous êtes après, la seule chose que je ne suis pas sûr à 100% est leur syntaxe pour lancer colorbox sans un événement, ce look juste cependant. – robjmills

0

Examinez le examples pour savoir comment accéder à un autre contenu. Si je comprends bien votre question, vous voulez afficher une source externe dans un iframe. Vous pouvez le faire en utilisant:

(à partir de la page par exemple)

$(".iframe").colorbox({iframe:true}); 

<p><a class='iframe' href="http://google.com">Outside webpage (IFrame)</a></p> 

Mise à jour: si ce que vous voulez est d'avoir quelque chose comme le code apparaissent au-dessus de la page lorsque vous entrez une URL, puis Je suggère que vous utilisiez des paramètres ou une réécriture d'url pour l'accomplir. L'idée serait que votre URL inclue la page à charger dans l'iframe et sur le serveur que vous extrayez ceci et que vous l'utilisiez pour construire quelque chose comme le code ci-dessus sur votre page.

http://www.example.com/main?load=about.htm 

ou en utilisant quelque chose comme MVC, vous pourriez avoir:

http://www.example.com/main/about 

qui justifierait l'action au sujet du contrôleur principal. Cela rendrait une vue qui contient le code en injectant le fichier de contenu "about.htm" dans l'iframe.

+0

Je l'ai déjà fait, le problème est de faire un lien direct qui peut être collé dans la barre d'adresse, mais je vais quand même aller sur mon site et ensuite ouvrir la page dans la lightbox. par exemple: www.example.com/#about-me.html sera ensuite récupéré par colobox et ensuite ouvert dans la lightbox. c'est difficile à expliquer – ritch0s

+0

Dans ce cas, je vous suggère de gérer le côté serveur en utilisant les paramètres de l'URL. Obtenez le paramètre? Href = about.htm et vous injectez le code ci-dessus sur le serveur afin que la lightbox apparaisse où vous voulez. Je vais mettre à jour. – tvanfosson

Questions connexes