Voici mon HTML:Fancybox iframe dit que mon href YouTube est undefined
<a class="video iframe" href="http://www.youtube.com/watch?v=Psk2Pq03rv0&fs=1">Arbitrary text</a>
Voici le javascript Fancybox:
<script type='text/javascript'>
$(document).ready(function(){
$("a.video").fancybox({
'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
'type' : 'swf',
'swf' : {
'wmode' : 'transparent',
'allowfullscreen': 'true'
}
});
return false;
});
</script>
Firebug Console dit:
this.href is undefined
'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
En Résultat, en cliquant sur ce lien, l'utilisateur se déplace sur YouTube et ne déclenche pas Fancybox. Changer la ligne problématique à 'href' : this.href.replace(new RegExp("watch?v=", "i"), 'v/'),
qui me semble plus correct, donne le même résultat.
Un conseil?
EDIT: J'ai ajusté mon script pour inclure uniquement les parties pertinentes à ma question.
Eh bien, je souhaite que je savais comment faire mon code et assez structuré comme le vôtre, mais oh bien. Je m'excuse de ne pas avoir inclus le '$ (document) .ready' plus tôt - je pensais que beaucoup serait supposé. Le '& fs = 1' n'a rien fait pour moi, mais le' return false; ', que j'ai négligé de remplacer après avoir déplacé ce code d'un autre fichier, a aidé un peu. Fancybox est déclenchée maintenant, mais la boîte est blanche et vide; la vidéo ne se charge jamais. Un autre coup de couteau? J'ai mis à jour mon code de manière appropriée. – danfo
$ ("a.video"). Click (function() { $ .fancybox ({ votre code manque toujours de cette partie, et c'est important, c'est ce qui fait fonctionner 'this' dans les options de fancybox –
Merci wowo, mais le lien va toujours à YouTube sans déclencher Fancybox Voici à quoi ressemble mon code en ce moment, en excluant toutes les propriétés de style inutiles: ' $ (document) .ready (function() { \t $ (" a.video "). click (function() {$ .fancybox ({ \t \t 'href' \t: this.href.replace (nouveau RegExp (" regarder \\?v = », "i"), 'v /'), \t \t 'type' \t \t: 'swf', \t \t 'swf' \t \t: { \t \t \t 'wmode': 'transparent', \t \t \t 'allowfullscreen': 'true' \t \t} \t}); \t}); \t return false;} ), ' – danfo