2012-11-01 6 views
0

Speakerdeck intérieur de fancybox

Speakerdeck

utilise un script to embed un appel qui installera une réponse api et JSON, comme:

{ 
    "version": "1.0", 
    "type": "video", 
    "provider_name": "YouTube", 
    "provider_url": "http://youtube.com/", 
    "width": 425, 
    "height": 344, 
    "title": "Amazing Nintendo Facts", 
    "author_name": "ZackScott", 
    "author_url": "http://www.youtube.com/user/ZackScott", 
    "html": 
     "<object width=\"425\" height=\"344\"> 
      <param name=\"movie\" value=\"http://www.youtube.com/v/M3r2XDceM6A&fs=1\"></param> 
      <param name=\"allowFullScreen\" value=\"true\"></param> 
      <param name=\"allowscriptaccess\" value=\"always\"></param> 
      <embed src=\"http://www.youtube.com/v/M3r2XDceM6A&fs=1\" 
       type=\"application/x-shockwave-flash\" width=\"425\" height=\"344\" 
       allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed> 
     </object>", 
} 

plaçant simplement un Speakerdeck lien intégré, comme:

<script async class='speakerdeck-embed' data-id='4ece03012a0554004f008afa' data-ratio='0.9534450651769087' src='//speakerdeck.com/assets/embed.js'></script> 

fonctionne bien, mais je n'ai pas été en mesure de l'intégrer avec fancybox v2. Mais le problème semble plus avec courir un a href="script" qu'avec l'oEmbed api json dans un iframe de fancybox. (. Mais pas sûr)

Alors je me suis cassé vers le bas au minimum de seulement lancer le script via un lien a href="script" - car fancybox utilise un élément - je l'ai essayé quelques variations de:

<a href="javascript(async class='speakerdeck' data-id='4ece03012a0554004f008afa' data-ratio='0.9534450651769087' src='//speakerdeck.com/assets/embed.js')" >show it</a> 

Tout ce que j'ai obtenu est une icône de chargeur tournant, et pire.

Je pense que j'ai juste une erreur mentale sur l'évidence, pouvez-vous m'aider?

Répondre

1

Si vous avez déjà votre data-id='4ece03012a0554004f008afa', ce serait aussi simple que passer directement dans le lien href via une méthode embed comme

<a class="fancydeck" href="http://speakerdeck.com/embed/4ece03012a0554004f008afa">CLICK to open speakerdeck inside fancybox</a> 

Ensuite, il suffit d'utiliser ce script personnalisé fancybox

$(document).ready(function() { 
$(".fancydeck").fancybox({ 
    type : "iframe", 
    width: 640, // or whatever 
    height : 420, 
    fitToView : false 
}); 
}); // ready 

SEE DEMO

NOTE: Je suis nous ing fancybox 2.x dans ma démo mais je ne vois pas pourquoi cela ne fonctionnerait pas avec v1.3.4

+0

Merci pour la réponse, JFK. J'utilise aussi la v2. Je vais vérifier et poster plus tard. Encore une fois, merci pour votre temps. – Ricalsin

+0

Perfection. Très bon conseil. Court, simple et droit au but. Merci, JFK. – Ricalsin