JW-player不在IE中工作

时间:2010-09-15 10:50:05

标签: php jquery jwplayer

我遇到以下问题,代码如下:

$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-player替换。我在jw-player的论坛上或在stackoverflow上找不到任何解决方案......

希望你们能帮忙!

更新 生成的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>

2 个答案:

答案 0 :(得分:0)

它无助于解决您的问题,但我不得不指出PHP是XSS等待发生的攻击:

$id = $_GET['block'];

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

尝试在htmlspecialchars上使用ENT_QUOTES $id,然后直接将其回显到HTML中。

即使这不是生产代码,我也不喜欢将这些内容留在互联网上以供其他人复制和使用。粘贴;)


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

答案 1 :(得分:0)

我认为flv解析存在问题。

当我添加这个:

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

它有效:)