php
  • jquery
  • jwplayer
  • 2010-09-15 9 views 0 likes 
    0

    J'ai le problème suivant, le code suivant:JW-joueur ne fonctionne pas dans IE

    $link = $_GET['link']; 
    $id = $_GET['block']; 
    
    echo "<p id='preview". $id ."'>The player will show in this paragraph</p>"; 
    echo "<script type='text/javascript'>"; 
    
    echo "var s" . $id . " = new SWFObject('" . COMPANY_URL . "/system/addons/player/player.swf','player". $id ."','210','170','9');"; 
    echo "s" . $id . ".addParam('allowfullscreen','true');"; 
    echo "s" . $id . ".addParam('allowscriptaccess','always');"; 
    echo "s" . $id . ".addParam('wmode','opaque');"; 
    
    echo "s" . $id . ".addVariable('file', '" . $link . "&repeat=always&autostart=true');"; 
    echo "s" . $id . ".addVariable('skin', '" . COMPANY_URL . "/system/addons/player/simple-sources.swf');"; 
    
    echo "s" . $id . ".write('preview". $id ."');"; 
    echo "</script>"; 
    

    Ceci est appelé à chaque fois par une charge jQuery (cela fonctionne parce que le echo "<p id='preview". $id ."'>The player will show in this paragraph</p>"; s'affiche). Dans IE le joueur laisse juste le 'joueur montrera dans ce paragraphe' tandis que dans tous les autres navigateurs il est remplacé par le joueur jw. Je ne trouve aucune solution sur le forum du jw-player ou sur stackoverflow ...

    J'espère que vous pouvez aider!

    Mise à jour Le produit Source Firebug

    <p><div class="videofile" id="856"> 
    <p id="preview856"><embed width="210" height="170" flashvars="file=http://DOMAIN/data/productinfo/pressbyopie/long-line/leesdeel-verdraait/1242649976__video_longline-verdraait.flv&amp;repeat=always&amp;autostart=true&amp;skin=http://DOMAIN/system/addons/player/simple-sources.swf" wmode="opaque" allowscriptaccess="always" allowfullscreen="true" quality="high" name="player856" id="player856" src="http://DOMAIN/system/addons/player/player.swf" type="application/x-shockwave-flash"></p> </div></p> 
    
    +0

    La question est peu probable dans le PHP. Pouvez-vous poster le code qui est livré au navigateur (faire une source de vue?). Aussi quelle version d'IE utilisez-vous? –

    +0

    Tous IE de IE6 et supérieur. Il est généré de façon dynamique, donc il n'y a pas de souce. Poste édité. – Tim

    Répondre

    0

    Il y avait un problème avec l'analyse de flv je pense.

    quand j'ajouté ceci:

    echo "s" . $id . ".addParam('type','flv');"; 
    

    Il a travaillé :)

    +0

    Cet extrait vient après que vous avez exécuté 'htmlspecialchars' sur le droit' $ id' droit? – Day

    0

    Il ne contribue pas à résoudre votre problème, mais je me sens obligé de souligner que le PHP est une attaque XSS attente de se produire:

    $id = $_GET['block']; 
    
    echo "<p id='preview". $id ."'>The player will show in this paragraph</p>"; 
    

    Essayez d'utiliser htmlspecialchars avec ENT_QUOTES sur le $id avant de l'afficher directement dans le code HTML.

    Même si ce n'est pas le code de production, je n'aime pas laisser de telles choses affichées sur les interwebs pour d'autres à copier & pâte;)


    PS: aurait-il commenté sur votre question au lieu de fournir une "réponse" mais je n'ai pas encore assez de rep.

    Questions connexes