2010-09-15 266 views
0

不工作我有以下问题,下面的代码:JW玩家在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>"; 

这就是所谓的通过jQuery的负载每次(这工作,因为echo "<p id='preview". $id ."'>The player will show in this paragraph</p>";是显示)。

在IE中,玩家只是让'玩家在这段中展示',而在所有其他浏览器中,它被jw-player取代。我找不到任何解决方案在论坛上的jw播放器或在计算器上...

希望你们可以帮忙!

更新 生成的源萤火

<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

问题不太可能是在PHP。你可以发布传递给浏览器的代码(做一个查看源?)。你使用什么版本的IE? – 2010-09-15 10:55:26

+0

来自IE6及更高版本的所有IE。它是动态生成的,所以没有任何东西。编辑后。 – Tim 2010-09-15 11:01:03

回答

0

我认为flv解析存在问题。

当我加入这个:

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

它的工作:)

+0

你在'$ id'右边跑'htmlspecialchars'后出现这个片段? – Day 2010-09-28 20:28:04

0

它不会帮助您解决问题,但我觉得有必要指出的是,PHP是一种XSS袭击即将发生:

$id = $_GET['block']; 

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

尝试在$id上使用htmlspecialcharsENT_QUOTES,然后直接回显到HTML中。

即使这不是生产代码,我不喜欢留在interwebs为他人发布的复制粘贴&这样的事情;)


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