代码之家  ›  专栏  ›  技术社区  ›  Tim

JW播放器不在IE中工作

  •  0
  • Tim  · 技术社区  · 14 年前

    我有以下问题,代码如下:

    $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>";
    

    每次jQuery加载时都会调用它(这是因为 echo "<p id='preview". $id ."'>The player will show in this paragraph</p>"; 正在显示)。

    在IE中,玩家只需离开“玩家将在本段中显示”,而在所有其他浏览器中,它被jw玩家取代。我在jw玩家论坛或stackoverflow上找不到任何解决方案。。。

    更新 生成的源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>
    
    2 回复  |  直到 14 年前
        1
  •  0
  •   Day    14 年前

    这无助于解决您的问题,但我不得不指出,PHP是一个 XSS

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

    尝试使用 htmlspecialchars 具有 ENT_QUOTES $id 在将其直接输出到HTML之前。

    即使这不是生产代码,我也不喜欢将这些内容发布在互联网站上,让其他人复制和粘贴。)


    附言:我会对你的问题发表评论,而不是提供一个“答案”,但我还没有足够的代表。

        2
  •  0
  •   Tim    14 年前

    我认为flv解析有问题。

    当我加上这个:

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

    成功了:)