JW-Player не работает в 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 Player просто оставляет «игрока, покажет в этом абзаце», в то время как во всех других браузерах он заменен JW-Player. Я не могу найти никакого решения на форуме JW-Player или на 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&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
Перед повторением его прямо в HTML.
Даже если это не код продукции, мне не нравится, что уходи от таких вещей, размещенных в Интернате для других, чтобы скопировать и вставить;)
PS: прокомментировал бы ваш вопрос вместо того, чтобы предоставить «ответ», но у меня еще нет достаточно повторений.