Вставка DOM-скрипта - PullRequest
       29

Вставка DOM-скрипта

2 голосов
/ 07 декабря 2011

Я намеревался вставить небольшой скрипт в DOM во время выполнения, чтобы загрузить видеоплеер.но плеер загружается во всех разных местах, кроме <div>, где я хочу, чтобы это было.Я не понимаю, как с этим бороться.Я вставляю весь код здесь.пожалуйста, помогите мне.

<html>
<head><title>video test</title>
<script type="text/javascript" src="resources/js/jquery.js"></script>
<script type="text/javascript" src="swf.js"></script>
<script type="text/javascript">

$(document).ready(function(){
//  debugger;
    var template = $('<div class="sResult"><div class="figure"></div><div class="title"></div></div>');
    var url = 'http://player.ooyala.com/player.js?width=320&amp;height=240&amp;embedCode=thbXMxMzpq0RhOS82Hzx1lma8UMnFN-3&amp;callback=apicallback';
    var tempScript = document.createElement('script');
    tempScript.type = 'text/javascript';
    tempScript.src = url;

    $("#main").append(template);


    $("div.figure", $('#main')).html(tempScript);
    $("div.title", $('#main')).append("testkjdfnkjdb");

})
</script>   

</head>
<body>
    <div id="main"></div>
</body>
</html>

процедура добавления для div.title работает нормально.но div, в котором я пытаюсь добавить видеоплеер, работает неправильно.видеопроигрыватель добавляется к <head>

РЕДАКТИРОВАТЬ: может какой-нибудь гуру javascript, пожалуйста, посмотрите в player.js и скажите мне, почему он не работает для меня?*

игрок <div> содержит следующее:

<div style="width: 320px; height: 240px; overflow: hidden;" id="ooyalaPlayer6764909_10qreejOoyalaPlayerOutterWrapper"><object width="320" height="240" type="application/x-shockwave-flash" id="ooyalaPlayer6764909_10qreej" class="OoyalaVideoPlayer" data="http://player.ooyala.com/static/cacheable/fb1a00342b9ec2d6df7c69946617dcee/player_v2.swf"><param name="allowScriptAccess" value="always"><param name="allowFullScreen" value="true"><param name="bgcolor" value="#000000"><param name="wmode" value="window">
<param name="flashvars"></object></div>

Ответы [ 3 ]

2 голосов
/ 08 декабря 2011

Вы также можете предоставить игроку Ooyala параметр строки запроса targetReplaceId = (ID элемента), чтобы заставить его заменить элемент на странице.

1 голос
/ 07 декабря 2011

Сначала исправьте ваш URL, передав параметр playerId.

    var url = 'http://player.ooyala.com/player.js?playerId=player&width=320&amp;height=240&amp;embedCode=thbXMxMzpq0RhOS82Hzx1lma8UMnFN-3&amp;callback=apicallback';

Создайте прослушиватель для загрузчика tempScript и добавьте скрипт проигрывателя в заголовок:

$(tempScript).load(function() {
     $('#main').find('div.figure').append($('head>div'));
});
$('head')[0].appendChild(tempScript);

В слушателе переместите контент с плеера, куда вы хотите, просто повторно добавьте его.

Я полагаю, что проблема в player.js, а не в том, где вы подключаете загрузчик скриптов.

Документы API Ooyala: http://ooyala.com/support/docs/player_api#javascript

0 голосов
/ 07 декабря 2011

Ваш селектор неверен:

$("#main div.figure").html(tempScript);

и т. Д.

...