Как запустить идентичные функции JavaScript - PullRequest
1 голос
/ 09 октября 2011

после обширных исследований я не смог найти ответ, который соответствовал бы моим (довольно) низким навыкам в javascript. было бы большим облегчением, если бы кто-нибудь из вас мог помочь.

Я пытаюсь запустить этот скрипт дважды на одной и той же странице, но я думаю, что проблема в том, что функция onYouTubePlayerReady не может быть вызвана два раза без перезаписи последней. Кроме того, если я изменю его название, фактические функции не будут выполняться.

вот код. Я бы хотел, чтобы на одной странице воспроизводилось до 4 видео на YouTube без звука и автозапуск. ты знаешь как это возможно?

спасибо за ваше время

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prova 1</title>

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
    <script type="text/javascript">
      google.load("swfobject", "2.1");
    </script> 

</head>

<body align="center">


<div id="ytapiplayer2"></div>

    <script type="text/javascript">
        function onYouTubePlayerReady2(playerId2) {
            ytplayer2 = document.getElementById("myytplayer2");
            ytplayer2.playVideo();
            ytplayer2.mute();
                }
        var videoID2 = "OFIhzSwDfwo"
        var params = { allowScriptAccess: "always" };
        var atts = { id: "myytplayer2" };
        swfobject.embedSWF("http://www.youtube.com/v/" + videoID2 + "?enablejsapi=1&playerapiid=ytplayer\
        &autoplay=1&version=3&showinfo=0&iv_load_policy=3&controls=0&modestbranding=1",
        "ytapiplayer2", "250", "inherit", "0", null, null, params, atts)
    </script>



<div id="ytapiplayer"></div>

    <script type="text/javascript">
        function onYouTubePlayerReady(playerId) {
            ytplayer = document.getElementById("myytplayer");
            ytplayer.playVideo();
            ytplayer.mute();
                }
        var videoID = "e5iqtQLm-BM"
        var params = { allowScriptAccess: "always" };
        var atts = { id: "myytplayer" };
        swfobject.embedSWF("http://www.youtube.com/v/" + videoID + "?enablejsapi=1&playerapiid=ytplayer\
        &autoplay=1&version=3&showinfo=0&iv_load_policy=3&controls=0&modestbranding=1",
        "ytapiplayer", "250", "inherit", "0", null, null, params, atts)
    </script>


</body>
</html>

1 Ответ

0 голосов
/ 05 декабря 2013

Используйте аргументы вместо глобальных переменных, чтобы избежать побочных эффектов:

 function onYouTubePlayerReady2(playerId2, ytplayer2, video2, params, atts)

Затем передайте жестко закодированные значения вместо изменения состояния во время каждого вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...