Bonjour !
Je suis en train d'intégrer le JW player dans un module de mon cru, et je suis coincé par la création du bloc dans lequel il doit s'afficher.
Historique:
- En créant une bête page html pour tester ça fonctionne.
- En appelant cette page en popup depuis le site ça fonctionne.
- En intégrant le code html de cette page dans un template bloc ça ne fonctionne pas !
Le code HTML du bloc:
Citation :
<html>
<head>
<script type="text/javascript">
var player;
var currentVolume;
function playerReady(obj){player = document.getElementById(obj['id']);}
</script>
</head>
<body onload="playerReady('ply')">
Bloc JW Player
<p id="preview">Le player sera créé dans ce paragraphe.</p>
<script type="text/javascript" src="swfobject.js"></script>
<script type='text/javascript'>
var s1 = new SWFObject('player.swf','player','170','150','9');
s1.addParam('allowfullscreen','false');
s1.addParam('allowscriptaccess','always');
s1.addParam('flashvars','config=default.xml');
s1.write('preview');
</script>
<body>
</html>
Si j'exécute ce code html hors de xoops il fonctionne.
A l'intérieur de xoops, "Bloc JW player" s'affiche bien dans le bloc, mais le paragraphe "preview" est vide.
Il semble que new SWFObject ne fonctionne pas dans cet environnement, puisque s1.write semble vide ...
J'ai vérifié la présence de tous les fichiers nécessaires (player.swf , swfobject.js , default.xml) ainsi que les chemins, mais je ne trouve pas où est le problème !
Est-ce que le code d'une page html copié/collé dans un template peut fonctionner tel quel ou doit-il être modifié ?
J'ai 2 pistes:
1/ Soit l'intégration de SWFObject.js ne va pas.
2/ Soit c'est le body onload="playerReady()" qui ne fonctionne pas.
Est-ce que le code html d'un bloc est considéré comme une page html avec l'évènement onload qui fonctionne ?
Si ce n'est pas le cas comment appeler playerReady() de manière équivalente ? (c'est indispensable).J'ai essayé un script en bas de page pour l'appeler comme une fonction, mais ça ne change rien.