题
我有以下问题,以下代码:
$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的论坛上找不到任何解决方案...
希望你们能提供帮助!
更新生成的源燃料
<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&repeat=always&autostart=true&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
我认为FLV解析存在问题。
当我添加它时:
echo "s" . $id . ".addParam('type','flv');";
有效 :)
其他提示
这无助于解决您的问题,但我感到不得不指出PHP是 XSS 攻击等待发生:
$id = $_GET['block'];
echo "<p id='preview". $id ."'>The player will show in this paragraph</p>";
尝试使用 htmlspecialchars
和 ENT_QUOTES
在 $id
在将其直接回声之前。
即使这不是生产代码,我也不喜欢将这些内容发布在Interwebs上以供其他人复制和粘贴;)
PS:会评论您的问题,而不是提供“答案”,但我还没有足够的代表。
不隶属于 StackOverflow