9
votes

Comment ajouter de manière dynamique Wmode = Code TRANSPARENT TO YOUTUBE

J'ai plusieurs vidéos YouTube ajoutées via un CMS par un client. Je dois ajouter ce qui suit à tous les liens SRC YouTube: xxx pré>

Comment ferais-je cela? P>

Un exemple du code YouTube Incord est comme suit: P >

<iframe width="515" height="292" src="http://www.youtube.com/embed/p8IB-5PbL9U" frameborder="0" allowfullscreen></iframe>


2 commentaires

Besoin d'un peu plus d'informations: quel cm? Y a-t-il des frameworks JavaScript (par exemple jQuery, motools ou autre)? Combien de vidéos sont sur une seule page?


J'aime cette réponse, ajoutant malheureusement que le paramètre ne fonctionnait pas de manière dynamique pour moi, je devais revenir à l'utilisation de l'ancien code ...


3 Réponses :


11
votes

Si vous avez juste besoin d'ajouter ? wmode = transparent code> à tous les cadres, avez ce code JS:

window.onload = function() {
    var frames = document.getElementsByTagName("iframe");
    for (var i = 0; i < frames.length; i++) {
        frames[i].src += "?wmode=transparent";
    }
}


4 commentaires

Brillant, cela fonctionne bien, le menu fonctionne parfaitement maintenant. Merci.


Cela ajoute "? Wmode = transparent" comme annoncé, mais cela ne semblait pas résoudre le problème des menus allant derrière la vidéo. Je devais revenir à l'utilisation du code de style ancien pour obtenir wmode = transparent au travail.


@Drcord essaie "opaque" au lieu de "transparent" mais je ne peux vraiment pas dire si c'est vraiment le problème dans votre cas.


@Shadowwizard - qui ne l'a pas résolu, dans Firefox, le menu tombe derrière la vidéo, même avec l'un ou l'autre paramètre ajouté. Cela ne semble pas compter si cela fait de manière dynamique ou directement dans le lien.



3
votes

Selon votre CMS, vous pouvez le faire via PHP uni, en l'ajoutant à la fin de chaque URL, ou de votre ou de faire de la jQuery faire le travail pour vous.

$('iframe').each(function() {
    $(this).attr("src", $(this).attr("src") + '?wmode=transparent')
});


5 commentaires

Haha, d'Oh, oui, j'aurais pu juste l'ajouter à la fin du PHP, je passe une journée stupide! Je suis allé pour l'option paresseuse ci-dessus car il y a beaucoup d'endroits où l'ajoutez-la, maussade de votre réponse, cependant, merci.


Pas besoin de JQuery pour une telle tâche simple. Pure JavaScript sera aussi simple et de navigateur croisé. (dans ce cas)


Cheers Mark, fyi - Veuillez utiliser @ pour notifier quand il y a plus d'une personne qui pose des commentaires (dans ce cas, Rob et moi-même - plus d'un) - J'ai vu votre commentaire maintenant que par hasard.


Merci pour la pointe @shadowwizard, déterminez toujours un débordement de pile. ;)


Bravo, maintenant j'ai eu une notification - bien fait! :) Au fait, les trois premières lettres sont suffisantes, donc si vous êtes trop paresseux pour taper tout ou même cliquer sur la suggestion automatique, vous pouvez simplement avoir @sha ou @shadow < / code> et il arrivera en toute sécurité.



5
votes

Êtes-vous réparé à l'aide de l'IFrame? Cela rend cela beaucoup plus difficile car vous ne pouvez pas accéder directement à l'objet sous-jacent. Si vous le pouvez, il serait préférable d'intégrer directement l'objet sur votre page en tant que tel xxx


3 commentaires

Je suis bloqué avec iframe malheureusement.


YouTube a commuté leur principal intégré à un iframe pour leur permettre de choisir de manière dynamique Flash ou HTML5 pour la vidéo.


Cela a fonctionné pour moi quand l'iframe avec? Wmode = transparent n'a pas.